最佳答案
我有一个非常简单的问题要解决,我有一个伙伴模型,它有 > = 0的用户:
class Partner(models.Model):
name = models.CharField(db_index=True, max_length=255)
slug = models.SlugField(db_index=True)
user = models.ManyToManyField(User)
现在,如果我有一个 User 对象并且我有一个 Partner 对象,那么检查 User 是否与 Partner 关联的最好的 Python 方法是什么?我基本上想要一个返回 True 的语句,如果 User
与 Partner
相关联的话。
我试过了:
users = Partner.objects.values_list('user', flat=True).filter(slug=requested_slug)
if request.user.pk in users:
# do some private stuff
这个方法可行,但我觉得还有更好的办法。此外,这是否很容易滚动到装饰器,不要忘记我需要一个命名参数(slug
)和一个请求对象(user
)。