Мне еще многое предстоит узнать о моделях Django, поэтому будьте нежны. Рассмотрим эту модель:Оптимизация ManyToMany (ToMany) Запрос Django
from django.db import models
from django.contrib.auth.models import User
class Community(models.Model):
users = models.ManyToManyField(User)
class Portal(models.Model):
community = models.ForeignKey(Community, blank=True, null=True)
class Page(models.Model):
portals = models.ManyToManyField(Portal, null=True)
Так страница может быть во многих порталов. У каждого портала есть Сообщество, и у Сообщества есть много пользователей. Сейчас я пытаюсь найти всех пользователей, относящиеся к одной странице:
def allowed_users(self):
return User.objects.filter(community__in=Community.objects.filter(portal__in=self.portals.all()))
Это работает, но я уверен, что есть более эффективный способ сделать это. Возможно с Q или F. Любая помощь приветствуется.
, какая модель делает 'allowed_users' принадлежат? – karthikr
allowed_users принадлежит к странице – Koed00