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

Pass queryset data to another query django

我有以下型号。我正在尝试 select 全部来自指定了特定 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)

如何将结果从一个查询集传递到另一个查询集?

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