我有一个Django记录集(mysource),每天保持温度读数(for_date)。例如,当我可以获得最近40天的读数时,我想在图表上仅显示20天。为此,我执行以下操作:
for day_num in range (1, 32):
if day_num % 2 == 1: # remove every 2nd day
mysource = mysource.exclude(for_date__day=day_num)
...为了从查询集中删除每一秒读数。它工作得很好,但现在我想显示最近的阅读和最近的阅读,并确保我不排除查询集中的那些。是否有任何简单/快速的方法为Django查询集中的记录指定排除,只要这些记录既不位于查询集的开头X记录也不位于查询集的结束X记录中,所以我可以完成此操作?
答案 0 :(得分:1)
使用查询获取要排除的记录的PK,然后在主要查询中排除它们(.exclude(pk__in=...)
),