将查询集数据传递给另一个查询 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))
我有以下型号。我正在尝试 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))