【发布时间】:2015-06-01 16:17:48
【问题描述】:
我有两张桌子。第一个是基本的用户表。第二个是一个名为 Section 的表。
def User(models.Model):
...
is_teacher = models.BooleanField(default=False)
...
def Section(models.Model):
...
teachers = models.ManyToManyField(User, related_name="teachers")
students = models.ManyToManyField(User, related_name="students")
is_active = models.BooleanField(default=True)
...
我想获取所有学生用户(在用户表中使用is_teacher=False 标识),我知道这可以通过User.objects.filter(is_teacher=False) 轻松完成。
我想也获取每个用户的活动部分。
但是,目前,我什至无法为用户获取 sections 集。
我试过了:
students = User.objects.filter(is_teacher=False)
for s in students:
print s.section_set.all()
但是我收到一个错误,User 对象没有 section_set。我猜是因为该部分与用户表(教师和学生)有两个多对多关系,我可能必须更清楚地指定关系(跟随学生而不是教师)。但我不知道该怎么做。
【问题讨论】:
标签: django postgresql manytomanyfield