Django 智能适配传输

问题描述 投票:0回答:1

我有一本模型书,该表中有重复的行。 在重复操作过程中,其中一个重复项被更改。

这些行之间的差异在于两个字段(special_id 和 state)。例如:

姓名 special_id 状态
白痴 “0107” 1
白痴 “0106” 2

在按州过滤期间,如果我写

Book.objects.filter(state=2)
,我将获得状态为
2
的书,所以如果有同名且状态为
1

的书,我想排除这本书

有没有办法做到这一点,而不需要 for 循环并通过

QuerySet
中每本书的名称进行查找?

现在图书量不大的情况下

for loop
的延迟不明显。但当它们变得巨大时,我认为这将是一个非常长的延迟。

python django django-queryset django-filter
1个回答
0
投票

我在这种情况下使用了

django.db.models.Q
|
&
~
等操作进行动态查询。

© www.soinside.com 2019 - 2024. All rights reserved.