Определить фильтр в 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')

Также возможно дублирование этой темы

Другие вопросы по тегам