将查询集数据传递给另一个查询django

时间:2017-02-24 02:38:00

标签: python django django-models models

我有以下型号。我试图从UserClasses中选择所有指定特定class_id的内容。然后我想获得每个结果的用户数据

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 个答案:

答案 0 :(得分:5)

您可以使用__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))