【发布时间】:2013-08-13 15:50:35
【问题描述】:
关于 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属于哪个型号? -
allowed_users 属于页面
标签: django django-models django-orm