2015-12-23 52 views
0

目前,我有一個查詢集過濾器的結果。如何刪除查詢集中的過濾器後的項目?

Results = Model.objects.filter(conditional=satified..etc.) 

如何刪除單個結果表單結果。我認爲結果是一個列表,並嘗試.remove(項目),但它似乎並沒有工作。是否有另一種方法來刪除單個項目?

回答

0

Model.objects.filter的結果是QuerySet類,而不是list

filter只需要從數據庫到內存的一些模型,一旦完成,任何操作的結果是操作內存中的數據,而不是數據庫,所以數據庫中的數據將不會改變。所以如果你想刪除一些模型從數據庫中,您可以從filter的結果中找到特定的模型,並調用它的delete方法,然後模型將從數據庫中刪除。

+0

我只是想從過濾器,而不是整個模型的結果之一。有沒有辦法做到這一點? –

+0

使用'exclude'排除你不想要的模型。引用[this](https://docs.djangoproject.com/en/1.9/ref/models/querysets/)並搜索'exclude'。 – starkshang

0

再次使用filter()exclude()方法在您的queryset上。 E.g

results = Model.objects.filter(conditional=satified) 
results = results.exclude(param=your_param) 
# or 
results = results.filter(param=your_param) 
相關問題