You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Django QuerySet查看数值?如何获取查询集的user_id?

查看并使用Django QuerySet中的user_id

你的代码通过.values()返回的是由字典组成的QuerySet,每个字典对应一条User记录的字段键值对,直接通过键名就能取出user_id并使用,具体操作分几种场景:

1. 遍历QuerySet逐个获取并使用

直接循环遍历QuerySet,从每个字典里提取user_id:

from datetime import datetime, timedelta
from django.contrib.auth.models import User

day = 7  # 示例天数,根据实际需求替换
tokens = User.objects.filter(date_joined__gte=datetime.now()-timedelta(days=day)).values()

# 遍历处理每个user_id
for user_data in tokens:
    user_id = user_data['user_id']
    # 这里写你需要的业务逻辑,比如打印、关联查询等
    print(f"当前用户ID:{user_id}")

2. 只获取user_id字段(优化性能)

如果只需要user_id,可以在.values()里指定字段,减少不必要的数据查询:

tokens = User.objects.filter(date_joined__gte=datetime.now()-timedelta(days=day)).values('user_id')

for user_data in tokens:
    user_id = user_data['user_id']
    # 执行你的操作

3. 提取所有user_id到列表批量使用

如果需要批量处理所有符合条件的user_id,可以用列表推导式把它们整理成列表:

user_ids = [user_data['user_id'] for user_data in tokens]
# 示例:用这个列表批量查询关联模型
# related_items = OtherModel.objects.filter(user_id__in=user_ids)

注意:如果你的User模型使用Django默认的主键字段id(而非自定义的user_id),请将上述代码中的'user_id'替换为'id'。

内容的提问来源于stack exchange,提问作者Muthumani18

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 00:05:46