django-queryset - 只要那些记录不是第一个或者最后一个X 记录,就排除 Django queryset中的某些记录

  显示原文与译文双语对照的内容

我有一个 Django 记录集( 正文列表) 保存的每一天的温度读取。 例如当最近 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)

。为了从queryset中移除每一秒钟。 它工作得很好,但现在我想显示最近的阅读和最近的阅读,确保不排除它们。 只要这些记录没有位于of的开始X 记录,就可以在 Django of中指定排除的方法。

时间: 作者:

使用查询获取要排除的记录的PKs,然后将它的排除在主查询( .exclude(pk__in=...) ) 中。

...