![](/img/trans.png)
[英]getting .count(), .exist() from cached queryset without hitting database
[英]Exclude a queryset from bigger queryset in django without hitting the database
我有一個模型的所有對象的查詢集。 迭代對象,我正在刪除列中具有值重復的更新行。 因此,無需再次訪問數據庫,我想從更大的查詢集中刪除更新的行。
最有效的方法是什么?
您可能需要提供有關特定用例的更多信息,但一般而言,Django推遲對QuerySets的評估,直到實際需要它們為止。 如果能夠獨立於較大的QuerySet構造排除集的QuerySet,則可以調用.exclude()
方法並生成一個大型查詢而不是兩個較小的查詢。 例如:
excluded_set = Model.objects.filter(...)
large_set = Model.objects.filter().exclude(id__in=excluded_set)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.