Django Overriding Model Clean () vs Save ()

У меня есть несколько действий, которые нужно выполнить при сохранении моделей, особенно от администратора. Я использую несколько полей и проверяю, чтобы заполнить одно поле или другое. Я также создаю полевую пулю. RIght теперь они разделены между переопределением функций очистки и сохранения. Он работает сейчас, но мне любопытно, когда использовать их каждый. Я просмотрел документы, и я не мог найти, что конкретно использовать.

One Solution collect form web for “Django Overriding Model Clean () vs Save ()”

Вы должны использовать очистку для работы, связанной с валидацией, и анализировать / изменять / иначе очищать ввод. Здесь могут произойти капитализация полей и создание пули. Я также использую clean для принудительного post_type поля типа post_type в определенное значение в прокси-моделях. Если вы поднимаете django.core.exceptions.ValidationError('error text') внутри clean, в form.non_field_errors добавляется 'error text' .

Сохранить – это место, где можно изменить способ сохранения модели. Например, я использовал save для создания обрезки загруженного изображения. ValidationError s не пойманы, если они возникают здесь, и я чувствую, что это самая важная практическая разница между ними.

  • Сохранение пользовательской модели с помощью django-allauth
  • Обнаруживать, изменилась ли модель до вызова сохранения в Django
  • когда использовать pre_save, save, post_save в django?
  • Что такое «пуля» в Django?
  • Django ORM SELECT с присоединением
  • Django admin inline inlines (или, три редактирования модели сразу)
  • Как переопределить delete () на модели и работать с соответствующими удалениями
  • Django: Есть ли способ иметь «сквозную» модель в ManyToManyField в другом приложении к модели, содержащей ManyToManyField?
  • Запретить удаление в модели Django
  • Найти объекты с датой и временем менее чем через 24 часа
  • Специальный код экземпляра модели Django
  • Python - лучший язык программирования в мире.