Django检查ManyToMany字段中是否有对象
我有一个相当简单的问题要解决。 我有合作伙伴模型有> = 0用户关联它:
class Partner(models.Model): name = models.CharField(db_index=True, max_length=255) slug = models.SlugField(db_index=True) user = models.ManyToManyField(User)
现在,如果我有一个用户对象,并且有一个合作伙伴对象,那么检查用户是否与合作伙伴关联的最常见的Pythonic方法是什么? 我基本上需要一个语句,如果User
关联到Partner
,则返回True。
我努力了:
users = Partner.objects.values_list('user', flat=True).filter(slug=requested_slug) if request.user.pk in users: # do some private stuff
这工作,但我有一种感觉,有一个更好的办法。 另外,这将很容易卷入装饰,考虑到我需要一个命名参数( slug
))和请求对象( user
)。
任何帮助将非常感激。
if user.partner_set.filter(slug=requested_slug).exists(): # do some private stuff