Подтвердить что ты не робот

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)

Теперь, если у меня есть объект User, и у меня есть объект Partner, какой самый Pythonic способ проверить, связан ли пользователь с Партнером? Я в основном хочу оператор, который возвращает 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).

Любая помощь будет высоко оценена.

4b9b3361

Ответ 1

if user.partner_set.filter(slug=requested_slug).exists():
     # do some private stuff