Chciałbym zapisać kryteria queryset do DB do ponownego użycia.Jak uzyskać i/lub zapisać kryteria zapytania do bazy danych?
Więc jeśli mam queryset jak:
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.
Chciałbym zapisać się do DB nie wyniki queryset (tj zapisami poszczególnych klientów, które mają dopasowanie pola państwowego „AL”) ; ale sam zestaw zapytań (tj. kryteria stosowane w filtrowaniu modelu klienta).
Ostatecznym celem jest posiadanie "zapisanego filtru", który można odczytać z bazy danych i użyć go w wielu aplikacjach django.
Najpierw myślałem, że mogę serializować zapytanie i zapisać. Ale serializowanie zapytania powoduje wykonanie kwerendy - a potem kończy się statyczną listą klientów w Alabamie w momencie serializacji. Chcę, aby lista była dynamiczna (tj. Za każdym razem, gdy czytam zestaw zapytań z DB, powinien on wykonać i pobrać najbardziej aktualną listę klientów w Alabamie).
Edycja: Alternatywnie, czy możliwe jest uzyskanie listy filtrów zastosowanych do zestawu zapytań?
Coś jak:
qs = Client.objects.filter(state='AL')
filters = qs.getFilters()
print filters
{ 'state': 'AL' }
Czy chcesz wyjaśnić, w jaki sposób rozwiązuje problem pobierania kryteriów zapytania i przechowywania go w bazie danych, a następnie odzyskiwania go z powrotem m baza danych i jej wykonanie? – cethegeek