Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用ManyToManyField从对象的queryset中提取唯一的queryset_Python_Django - Fatal编程技术网

Python 如何使用ManyToManyField从对象的queryset中提取唯一的queryset

Python 如何使用ManyToManyField从对象的queryset中提取唯一的queryset,python,django,Python,Django,我有一个通道模型对象,如下所示: def Channel(models.Model): users = models.ManyToManyField(User, blank=True, null=True, related_name='channels') manager = models.ForeignKey(User, related_name='manager_channels') 我想获取由当前用户管理的频道的用户列表,因此: managed_channels = Ch

我有一个通道模型对象,如下所示:

def Channel(models.Model):
    users = models.ManyToManyField(User, blank=True, null=True, related_name='channels')
    manager = models.ForeignKey(User, related_name='manager_channels')
我想获取由当前用户管理的频道的用户列表,因此:

managed_channels = Channel.objects.filter(manager=user)
# get users of managed_channels queryset

是否有一种有效的方法可以获取此列表,而无需迭代托管通道查询集、提取用户并编译唯一列表?

尝试使用反向关系:

#add .distinct() if you get duplicate users.
users = User.objects.filter(channels__manager=request.user)