Я хочу определить функцию setter
для поля модели Django, чтобы проверить ввод и немедленно вызвать ошибку, если значение недействительно.
Я не думаю, что выполнение проверки в save()
или pre_save()
является возможное решение моей проблемы из-за вещей, не зависящих от меня.
Кроме того, преобразование поля в свойство и использование простых field.getter
и field.setter
невозможны, так как это нарушит .filter()
, .exclude()
и т. д. в поле, а также требует изменения схемы, даже если я изменил field
на _field
и перебил менеджера.
Итак, я вынужден переопределить __setattr__
или есть лучший способ сделать это?