Dar*_*ech 54 django django-models django-views
我有一个很简单的问题需要解决.我有合作伙伴模型,其中有> = 0个与之关联的用户:
class Partner(models.Model):
name = models.CharField(db_index=True, max_length=255)
slug = models.SlugField(db_index=True)
user = models.ManyToManyField(User)
Run Code Online (Sandbox Code Playgroud)
现在,如果我有一个User对象并且我有一个Partner对象,那么检查User是否与Partner关联的最Pythonic方法是什么?我基本上想要一个语句,如果User与之关联,则返回True Partner.
我试过了:
users = Partner.objects.values_list('user', flat=True).filter(slug=requested_slug)
if request.user.pk in users:
# do some private stuff
Run Code Online (Sandbox Code Playgroud)
这有效,但我感觉有更好的方法.另外,这很容易卷入装饰器,请记住我需要一个命名参数(slug)和一个请求对象(user).
任何帮助将非常感激.
Pet*_*per 82
if user.partner_set.filter(slug=requested_slug).exists():
# do some private stuff
Run Code Online (Sandbox Code Playgroud)
如果我们只需要知道一个user对象是否与另一个对象关联partner,我们可以执行以下操作(如本答案所示):
if user in partner.user.all():
#do something
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29672 次 |
| 最近记录: |