我在Django 1.3中有以下模型设置。我有学校和老师的多对多关系。
class Teacher(models.Model):
schools = models.ManyToManyField(School, db_table="schoolteachers", related_name='scteachers')
现在,我有一个显示学校信息的搜索视图。目前,为了展示每所学校的教师,我在学校模式中有一个功能,
def get_teachers(self):
return ' , '.join(school.name for school in self.scteachers.all())
因此,如果我们要显示50所学校,我们要制作50个我想避免的查询。我在考虑使用raw_query。但是可以做些别的事吗?
感谢
答案 0 :(得分:1)
', '.join(School.objects.filter(
other_way_from_school_to_schoolteachers__teacher__pk=self.pk
).values_list('name', flat=True))