将查询集数据传递给另一个查询 django
Posted
技术标签:
【中文标题】将查询集数据传递给另一个查询 django【英文标题】:Pass queryset data to another query django 【发布时间】:2017-07-14 18:19:58 【问题描述】:我有以下型号。我正在尝试从指定了特定 class_id 的 UserClasses 中选择所有内容。然后我想获取每个结果的用户数据
class UserClasses(models.Model):
class_id = models.ForeignKey(Class)
user = models.ForeignKey(User)
这是我试图提取所有用户对象的 django 视图:
users = UserClasses.objects.filter(class_id=data['class_id'])
user_details = User.objects.filter(#get users.id from userclasses and compare here)
如何将结果从一个查询集传递到另一个?
【问题讨论】:
【参考方案1】:你可以使用__in
操作符结合Django的values_list()
方法来实现你想要的。
users = UserClasses.objects.filter(class_id=data['class_id'])
user_details = User.objects.filter(id__in=users.values_list('id', flat=True))
【讨论】:
甜蜜!我只是尝试过,它只返回 1 个用户。第一个查询返回了多个用户。 想通了。我需要将“user_id”传递给 values_list()以上是关于将查询集数据传递给另一个查询 django的主要内容,如果未能解决你的问题,请参考以下文章