我想將查詢集條件保存到數據庫以供重用。如何獲取和/或將查詢集條件保存到數據庫?
所以,如果我有這樣一個查詢集:
Client.objects.filter(state='AL')
# I'm simplifying the problem for readability. In reality I could have
# a very complex queryset, with multiple filters, excludes and even Q() objects.
我想保存到數據庫中查詢集的不是結果(即有狀態字段匹配「AL」的個別客戶記錄) ;而是查詢集本身(即用於過濾客戶端模型的標準)。
最終目標是擁有一個「保存的過濾器」,可以從數據庫中讀取並由多個django應用程序使用。
起初我以爲我可以序列化查詢集並保存它。但是序列化一個查詢集實際上執行查詢 - 然後我在序列化的時候在阿拉巴馬州結束了一個靜態客戶列表。我希望列表是動態的(即每次從數據庫讀取查詢集時,它應該執行並檢索阿拉巴馬州最新的客戶列表)。
編輯:另外,是否有可能獲得應用於查詢集的過濾器列表?
喜歡的東西:
qs = Client.objects.filter(state='AL')
filters = qs.getFilters()
print filters
{ 'state': 'AL' }
您想詳細說明如何解決獲取查詢集條件並將其存儲在數據庫中然後從中恢復它的問題數據庫並執行它? – cethegeek 2010-06-14 23:19:25