这是我的模型,
class Age(models.Model):
layer = models.CharField(max_length=50)
order = models.PositiveIntegerField()
...
class Course(models.Model):
target_age = models.ManyToManyField('Age')
...
如何获取包含特定年龄的课程查询集
视图:
request_courses = Course.objects.filter(target_age ...
您的问题有点含糊。首先,阅读有关跨关系查询的文档。
如果您只想获得与具有特定字段值的Age
相关的课程:
Course.objects.filter(target_age__FIELD=...)
其中FIELD是要查询的Age
模型中的字段。
或者,如果你有一个Age
对象,并且你想获得所有与特定Age
对象实际相关的课程,你需要:
age = Age.objects.get(...)
courses = Course.objects.filter(target_age=age)
或者,如果你想获得与许多可能的Age
中的至少一个相关的课程:
ages = Age.objects.filter(...)
courses = Course.objects.filter(target_age__id__in=ages.values_list('id'))
编辑
最后一个例子是使用in
查找