没有外键关系实例的 Django 查询多对一关系

Posted

技术标签:

【中文标题】没有外键关系实例的 Django 查询多对一关系【英文标题】:Django query for many-to-one relation with no instances of the foreign-key relationship 【发布时间】:2011-12-06 23:01:46 【问题描述】:

我的提交和作业之间存在多对一的关系(一个学生可能针对单个作业提交多个提交)。我想创建一个查询,显示没有关联提交的作业。

我的 models.py 包括:

class Assignment(model.Model):
    student=models.ForeignKey("Student")
    timeStarted=models.DateTimeField(null=True)

class Submission(models.Model):
    assignment=models.ForeignKey("Assignment")
    timeSubmitted=models.DateTimeField(auto_now_add=True)
    answerFile=models.FileField(upload_to="/%Y/%m/%d")

感谢您对此查询语法的任何帮助。

【问题讨论】:

花点时间阅读 Django 关于字段查找的文档;您应该了解所有功能:docs.djangoproject.com/en/dev/ref/models/querysets/…。我已链接到相关部分,但整个页面都值得仔细阅读。 【参考方案1】:
Assignment.objects.filter(submission__isnull=True)

【讨论】:

以上是关于没有外键关系实例的 Django 查询多对一关系的主要内容,如果未能解决你的问题,请参考以下文章

hibernate多对一关联映射两种形式的理解

没有主键或连接表的休眠多对一关系

一对多及多对多关系

具有多对一关联的实体上的 getArrayResult

告诉django不要跟随外键?

如何向具有多对一关系的模型的 Django 管理员添加可排序的计数列?