python - 查询多对多字段

标签 python django many-to-many django-orm

我的 Django 应用程序中有以下模型设置

 class School(models.Model):
   name  = models.TextField()

 class Courses(models.Model):
   name  = models.TextField()
   schools = ManyToManyField(School)

现在,我想找出所有提供特定类(class)的学校。例如,查找所有提供生物和化学类(class)的学校。我可以使用什么查询?

谢谢

最佳答案

参见lookup that span relationships在手册中:

class Courses(models.Model):
   name  = models.TextField()
   schools = ManyToManyField(School, related_name='courses_set')

School.objects.filter(courses_set__name__in=('biology', 'chemistry'))

关于python - 查询多对多字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9801097/

相关文章:

python - 为 python 安装 zeromq 时遇到问题

python - 如何计算 Python 中的元音和辅音?

java - 如何使用 JPA 或 HQL 动态排序多对多关系?

django - 在 Django 中查找多对多类别树的根

python - 无需修改代码即可获得不同的精度

python2.7错误: UnboundLocalError: local variable 'i' referenced before assignment

python - TypeError 禁止多对多设置

Laravel 8.x,3 个模型和多对多关系

python - 我可以让 Django QueryDict 保留顺序吗?

django - 如何在 Django 中用 None 保存 FileField?