【问题标题】:Existence of an object in many-to-many relation对象存在多对多关系
【发布时间】:2017-01-22 15:59:20
【问题描述】:
Python Django 代码:
class UserGroup(models.Model):
users = models.ManyToManyField(User)
def __contains__(user):
pass # What should be here?
(User这里是另一个模型。)
如何有效地检查用户是否“属于”给定的用户组?
【问题讨论】:
标签:
django
django-models
model
many-to-many
【解决方案1】:
你可以通过m2m manager查看:
def __contains__(self, user):
return user in self.users.all() # return boolean
现在只需检查您的实例:
user = User.objects.get(pk=some_pk)
group = UserGroup.objects.get(pk=some_pk)
# or use another queries to fetch instanses
if user in group:
# do your logic