我有一个模型,它有一个 ForeignKey 字段,null=True。
字段语义是 NULL 条目是允许的,而非 NULL 条目将其绑定(bind)到外部表中的单个行。
我想构建一个 ORM 过滤器,它对应于:
SELECT * FROM foo
WHERE foo.fk_field = ?
OR foo.fk_field IS NULL
(其中问号代表外部表中的单个值。)
是否可以在 Django ORM 中执行此操作,那么我是否需要求助于 raw 查询?
请您参考如下方法:
使用 Q objects :
from django.db.models import Q
Foo.objects.filter(Q(fk_field=fk_value) | Q(fk_field=None))
