2017-02-24 31 views
3

我有以下模型。我试图从UserClasses中选择指定了特定class_id的所有内容。那么我想获得的用户数据为每个结果将queryset数据传递给另一个查询django

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) 

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

回答

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)) 
+0

甜!我只是试过它,它只返回1个用户。从第一个查询返回多个用户。 –

+1

想通了。我需要将'user_id'传递给values_list() –

相关问题