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, какой самый питоновский способ проверки, связан ли пользователь с партнером? Я в основном хочу утверждение, которое возвращает 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
).
Любая помощь приветствуется.