django - Django获取未由外键引用的对象

标签 django

我有两个这样的模型:

class AA(models.Model):
    name = models.CharField()
    state = models.IngerField()


class BB(models.Model):
    aa_id = models.ForeignKey(AA)


我的问题是:
如何获取状态为10且不在BB中的所有对象AA?

在SQL我做这样的事情:

select * from AA 
where  AA.state = 10 and AA.id not in (select aa_id from BB)


要么

select * from AA
left join BB on BB.aa_id = AA.id
where AA.state = 10 and BB.id is null


我知道我可以获取所有AA对象,并逐一检查BB是否具有外键。但这不是正确的事情。

谢谢。

最佳答案

像这样:

AA.objects.filter(state=10, bb=None)

关于django - Django获取未由外键引用的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4758319/

相关文章:

python - Django 中如何根据其他模型字段中的图库名称上传照片?

django - 如何在Django中使用可选字段参数反转URL?

完全支持 CSS3 和 HTML5 的 Python HTML 到 PDF

python - 连接 django 和 mysql 时出现 OperationalError

python - 在单个 Django 项目中提供不同的 urlconfs

django - 使用模型 ID 列表调用 django rest API

django外部脚本导入错误: No module named Utils

django - Django 1.3 中的静态模板 block 标记错误

python - 在没有数据库的情况下在 Django 中进行身份验证

python - 在 Django 模板 Django 中获取特定日期