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]