Определить фильтр в django-datatable-view
Я использую django-datatable-view, чтобы показать мои данные. У меня есть сценарий, который мне нужен для извлечения записей из модели, которые удовлетворяют определенным условиям. Например, запрос может быть описан как:
"SELECT * FROM model WHERE column_1='value_1' AND column_2='value_2'
Как я мог реализовать это? На самом деле, я видел примеры, но у меня нет эффективной идеи сделать это. Не могли бы вы помочь мне в определении определения или обратиться к надлежащему образцу?
2 ответа
Кажется, что мы должны реализовать get_queryset(self)
Способ применения на целевых фильтрах:
def get_queryset(self):
return Entity.objects.filter('item_1'='value_1')
Хотя это может привести к правильным значениям таблицы, но производительность загрузки значительно снижается. Возможно, другие решения могут спасти производительность, или мы должны использовать другие методы, такие как кэширование.
Я думаю, что правильный ответ указан в официальной документации
Вы можете отфильтровать QuerySet, как показано в примере:
Entry.objects.filter(pub_date__year=2006)
Для вашего случая это может быть:
Entry.objects.filter(column_1='value_1').filter(column_2='value_2')
Также возможно дублирование этой темы