我有我的两个模型类之间的简单的一对多(models.ForeignKey)的关系:Quering不同的值throught相关模型
class TeacherAssignment(models.Model):
# ... some fields
year = models.CharField(max_length=4)
class LessonPlan(models.Model):
teacher_assignment = models.ForeignKey(TeacherAssignment)
# ... other fields
我想查询我的数据库获取一组与至少一个课程计划相关的不同年份的教师分配。我能够得到这一套使用Django查询API,如果我忽略了关系LessonPlan:
class TeacherAssignment(models.Model):
# ... model's fields
def get_years(self):
year_values = self.objects.all().values_list('year').distinct().order_by('-year')
return [yv[0] for yv in year_values if len(yv[0]) == 4]
不幸的是,我不知道该如何表达的TeacherAssignment必须与至少一个LessonPlan的条件。任何想法如何能够写出查询?
在此先感谢。
谢谢!我能够在阅读您的答案之前编写正确的查询,但ModelManager建议非常好! – 2011-01-11 12:27:45