У меня есть довольно простая проблема для решения. У меня есть партнерская модель, у которой есть >= 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
).
Любая помощь будет высоко оценена.