Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.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
Django-以多对多方式获取链接模型_Django_Django Models - Fatal编程技术网

Django-以多对多方式获取链接模型

Django-以多对多方式获取链接模型,django,django-models,Django,Django Models,我有两种不同的型号: 群模型 class Group(models.Model): (...) users=models.ManyToManyField(users.User, related_name='trainings') 而且是一个非常标准的用户模型。 我试图编写一个函数,它返回给定用户对象的所有链接组 解决我的问题的方法如下: def get_groups(user): connected_groups = Group.objects.filter(user in use

我有两种不同的型号:

群模型

class Group(models.Model):
  (...)
  users=models.ManyToManyField(users.User, related_name='trainings')
而且是一个非常标准的用户模型。 我试图编写一个函数,它返回给定用户对象的所有链接组

解决我的问题的方法如下:

def get_groups(user):
  connected_groups = Group.objects.filter(user in users)

但这是一个错误。这是我正在尝试的事情吗?还是应该在用户模型中创建一个“linked_groups”变量

检查此处的文档:

多对多关系的两端都可以自动访问另一端的API。如上所述,API的工作方式就像“向后”的一对多关系

唯一的区别在于属性命名:定义ManyToManyField的模型使用该字段本身的属性名称,而“reverse”模型使用原始模型的小写模型名称,加上“_set”,就像反向一对多关系一样

对于在应用程序中调用u的任何用户,u.group\u set.all将是与该用户具有多对多关系的所有组的查询集。由于您已经定义了相关的\u名称,因此可以使用可读性更强的语法u.trainings.all.

connected\u groups=Group.objects.filterusers\u in=[user]