70

私は解決すべき非常に単純な問題を抱えています。>= 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 に関連付けられているかどうかを確認する最も 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

これはうまくいきますが、もっと良い方法があると感じています。slugさらに、名前付きパラメーター ( ) と要求オブジェクト ( ) の両方が必要であることを念頭に置いて、これをデコレーターに組み込むのは簡単でしょうかuser

4

2 に答える 2