我有两个这样的模型:
class AA(models.Model):
name = models.CharField()
state = models.IngerField()
class BB(models.Model):
aa_id = models.ForeignKey(AA)
Run Code Online (Sandbox Code Playgroud)
我的问题是:我如何获得状态为10且不在BB中的所有对象AA?
在sql我做这样的事情:
select * from AA
where AA.state = 10 and AA.id not in (select aa_id from BB)
Run Code Online (Sandbox Code Playgroud)
要么
select * from AA
left join BB on BB.aa_id = AA.id
where AA.state = 10 and BB.id is null
Run Code Online (Sandbox Code Playgroud)
我知道如果BB有外键,我可以获得所有AA对象并逐个检查.但这不是正确的做法.
谢谢.
Dan*_*man 27
像这样的东西:
AA.objects.filter(state=10, bb=None)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2528 次 |
| 最近记录: |