[英]Queryset for ManyToMany relation in Django
I can't understand how I should get queryset for groups, that contains user, I've tried _set, prefetch_select, but still without result. 我不明白如何获取包含用户的组的查询集,我已经尝试过_set,prefetch_select,但仍然没有结果。
class User(AbstractUser):
...
class Group(models.Model):
...
Member_list = models.ManyToManyField(User, through='Member', related_name="Member_list")
class Member(models.Model):
group = models.ForeignKey(Group)
user = models.ForeignKey(User)
...
I need get all Groups associated with that user, like Groups where Member.objects.filter(user==request.user) 我需要获取与该用户关联的所有网上论坛,例如其中Member.objects.filter(user == request.user)的网上论坛
Im trying: 我正在努力:
user = request.user
groups = user.group_set.all() # empty list :(
member = user.member_set.all() # works currectly, returns my 1 test group
I just create your base. 我只是建立您的基地。 Create group, user and connect them: 创建组,用户并连接它们:
u = User.objects.create(name='user')
g = Group.objects.create()
m = Member.objects.create(group=g, user=u)
After this i can get user groups like this: 之后,我可以得到这样的用户组:
u.Member_list.all()
# output: [<Group: Group object>]
My base: 我的基地:
class User(models.Model):
name = models.CharField(max_length=4)
class Group(models.Model):
Member_list = models.ManyToManyField(User, through='Member', related_name="Member_list")
class Member(models.Model):
group = models.ForeignKey(Group)
user = models.ForeignKey(User)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.