2012-05-04 15 views
0

次のモデルをDjango 1.3でセットアップしました。私は学校と教師に多対多の関係を持っています。raw SQLクエリに代わる方法はありますか?

class Teacher(models.Model): 
     schools = models.ManyToManyField(School, db_table="schoolteachers", related_name='scteachers') 

ここでは、学校情報を表示する検索ビューがあります。私たちは50の学校を表示している場合現時点では、各学校の教師を表示するために、私は、そう

def get_teachers(self): 

    return ' , '.join(school.name for school in self.scteachers.all()) 

、学校のモデルに機能を持って、私たちは、私は避けたい50個のクエリを作っています。私はraw_queryの使用を考えていました。しかし、他に何かできますか?

おかげ

答えて

1
', '.join(School.objects.filter(
    other_way_from_school_to_schoolteachers__teacher__pk=self.pk 
).values_list('name', flat=True)) 
関連する問題