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 字符串格式中使用变量或 %s 有什么区别?

python - 如何防止Django的label_tag函数转义标签?

django - 我如何在 Django 模板中将整数的 unix 时间戳转换为人类可读的格式?

java - 具有多对多组合的 Hibernate 组合模式

java - 同一类型实体的多对多关系

python - 将 django 升级到 1.6 后,django admin css 不工作

python - 在 python 中检索双重引发的异常原始堆栈跟踪

python - 创建独特的 slug django

php - 如何在 Directus 中显示多对多关系的标签?

python - 没有 for 循环的 numpy 数组中的字典列表