【发布时间】:2020-07-30 21:54:46
【问题描述】:
我正在使用带有切片的 Django 查询集。我想评估一次,然后使用缓存的结果。
这是代码:
items_filtered = Item.objects.filter(......)
items_filtered_sliced = items_filtered[:100]
items_filtered_sliced_updated = Item.objects.filter(pk__in=items_filtered_sliced).update(....)
我需要稍后使用items_filtered_sliced查询集来过滤它,所以为了防止过滤切片查询集(这是不可能的)我想使用查询集第一个结果并尝试了这个-
items_filtered_sliced2 = Item.objects.filter(pk__in=items_filtered_sliced)
但似乎 items_filtered_sliced 再次被评估并返回下一个 100 而不是返回上一个结果。
【问题讨论】: