Tôi muốn lưu tiêu chí truy vấn vào DB để sử dụng lại.Làm cách nào để lấy và/hoặc lưu tiêu chí truy vấn vào DB?
Vì vậy, nếu tôi có một queryset như:
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.
Tôi muốn lưu vào DB không phải là kết quả của queryset (tức là các hồ sơ khách hàng cá nhân mà có một kết hợp lĩnh vực nhà nước 'AL') ; nhưng chính queryset (tức là các tiêu chí được sử dụng trong việc lọc mô hình Client).
Mục tiêu cuối cùng là có một "bộ lọc đã lưu" có thể đọc từ DB và được sử dụng bởi nhiều ứng dụng django.
Lúc đầu, tôi nghĩ tôi có thể tuần tự hóa bộ truy vấn và lưu lại. Nhưng việc tuần tự hóa một queryset thực sự thực hiện truy vấn - và sau đó tôi kết thúc với một danh sách tĩnh các máy khách ở Alabama tại thời điểm serialization. Tôi muốn danh sách được năng động (tức là mỗi lần tôi đọc queryset từ DB nó sẽ thực hiện và lấy danh sách khách hàng mới nhất ở Alabama).
Chỉnh sửa: Ngoài ra, bạn có thể lấy danh sách bộ lọc được áp dụng cho bộ truy vấn không?
Cái gì như:
qs = Client.objects.filter(state='AL')
filters = qs.getFilters()
print filters
{ 'state': 'AL' }
Bạn có muốn xây dựng cách giải quyết vấn đề nhận tiêu chí truy vấn và lưu trữ nó trong cơ sở dữ liệu và sau đó khôi phục nó không m cơ sở dữ liệu và thực hiện nó? – cethegeek