koi*_*i_n 4 django many-to-many filter
这是我的模特,
class Age(models.Model):
layer = models.CharField(max_length=50)
order = models.PositiveIntegerField()
...
class Course(models.Model):
target_age = models.ManyToManyField('Age')
...
Run Code Online (Sandbox Code Playgroud)
如何获得包含特定年龄的课程查询集?
观点:
request_courses = Course.objects.filter(target_age ...
Run Code Online (Sandbox Code Playgroud)
Tim*_*ony 17
如果您想获得仅Age与具有特定字段值的那些相关的课程:
Course.objects.filter(target_age__FIELD=...)
Run Code Online (Sandbox Code Playgroud)
其中FIELD是Age您要查询的模型中的字段.
或者,如果您有一个Age对象并且想要获得与特定Age对象实际相关的所有课程,则需要:
age = Age.objects.get(...)
courses = Course.objects.filter(target_age=age)
Run Code Online (Sandbox Code Playgroud)
或者如果你想获得与许多可能Age的中的至少一个相关的课程:
ages = Age.objects.filter(...)
courses = Course.objects.filter(target_age__id__in=ages.values_list('id'))
Run Code Online (Sandbox Code Playgroud)
编辑
最后一个例子是使用的in查找
| 归档时间: |
|
| 查看次数: |
9339 次 |
| 最近记录: |