是否有原始SQL查询的替代方案?

时间:2012-05-04 11:06:47

标签: django postgresql django-1.3

我在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。但是可以做些别的事吗?

感谢

1 个答案:

答案 0 :(得分:1)

', '.join(School.objects.filter(
  other_way_from_school_to_schoolteachers__teacher__pk=self.pk
  ).values_list('name', flat=True))