我有一本模型书,该表中有重复的行。 在重复操作过程中,其中一个重复项被更改。
这些行之间的差异在于两个字段(special_id 和 state)。例如:
姓名 | special_id | 状态 |
---|---|---|
白痴 | “0107” | 1 |
白痴 | “0106” | 2 |
在按州过滤期间,如果我写
Book.objects.filter(state=2)
,我将获得状态为2
的书,所以如果有同名且状态为1
的书,我想排除这本书
有没有办法做到这一点,而不需要 for 循环并通过
QuerySet
中每本书的名称进行查找?
现在图书量不大的情况下
for loop
的延迟不明显。但当它们变得巨大时,我认为这将是一个非常长的延迟。
我在这种情况下使用了
django.db.models.Q
和|
、&
、~
等操作进行动态查询。