【发布时间】:2013-05-19 07:49:30
【问题描述】:
我有一个很简单的问题要解决。我有与其关联的 >= 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),这是否容易滚入装饰器。
【问题讨论】:
标签: django django-models django-views