Python 多对多关系的Django queryset
我不明白如何获取包含用户的组的queryset,我尝试了Python 多对多关系的Django queryset,python,django,django-orm,Python,Django,Django Orm,我不明白如何获取包含用户的组的queryset,我尝试了\uu set,预取\u select,但仍然没有结果 class User(AbstractUser): ... class Group(models.Model): ... Member_list = models.ManyToManyField(User, through='Member', blank=True, related_name="Member_list") class Member(model
\uu set
,预取\u select
,但仍然没有结果
class User(AbstractUser):
...
class Group(models.Model):
...
Member_list = models.ManyToManyField(User, through='Member', blank=True, related_name="Member_list")
class Member(models.Model):
group = models.ForeignKey(Group, blank=True, null=True, on_delete=models.SET_NULL)
user = models.ForeignKey(User, blank=True, null=True, on_delete=models.SET_NULL)
...
我需要获取所有组,其中
Member.objects.filter(user==request.user)
您应该从用户开始查询
试试这个
user = request.user
groups = user.group_set.all()
在我的db模型中有一个圆圈,group_集合的方向相反,这就是它返回空的原因。 使用相关的_名称,它工作正常:
u.Member_list.all()
它返回空列表,但我的用户至少有1个组,我选中了。member=user.member\u set.all()-返回1个组,groups=user.group\u set.all()返回空列表