#django #django-filter
#django #django-фильтр
Вопрос:
Возможно ли добавить метод к полю, объявленному в мета-классе FilterSet, который обрабатывает значение, указанное перед фильтрацией?
В следующем
class MoldelAFilter(filters.FilterSet):
class Meta:
model = ModelA
fields = {
'name': ['exact', 'contain'],
'ts': ['exact', 'gt', 'lt']
}
Я хочу обработать значение, переданное в ‘ts’ (например: ‘2020-11-02’) перед фильтрацией
Комментарии:
1. Нет, это невозможно. Вы должны явно определить поля с
method
параметром2. @JPG Хммм, и как бы вы это сделали в этом случае? Кстати, спасибо за ответ 🙂
3. как я уже сказал, я бы выбрал отдельные поля
4. @JPG Да, я это понял, возможно, мой вопрос-комментарий был непонятен, извините. Я новичок в django-filter, и после прочтения документов мне было непонятно, как я могу это сделать (отдельные поля). Потому что, когда я пытаюсь объявить поля перед классом Meta, я получаю следующее
AssertionError: Setting 'Meta.model' without either 'Meta.fields' or 'Meta.exclude' has been deprecated since 0.15.0 and is now disallowed. Add an explicit 'Meta.fields' or 'Meta.exclude' to the ModelAFilter class.