Я работаю над проектом Django 1.8, который должен выставлять как традиционный интерфейс HTML, так и JSON API. Для API мы используем Django Rest Framework. Работая с Rails, я стараюсь следовать шаблону «Толстые модели» и ставить столько же, сколько по-человечески возможно в модели и вдали от формы. Иногда, однако, существует специальная проверка, которая должна выполняться на уровне формы.Как избежать дублирования кода в Django Forms и Django Rest Framework Сериализаторы?
Пример: У меня есть модель Image
с полем GenericForeignKey
и потенциально может быть связана с любой моделью в системе. Эти изображения также имеют profile
(например, «логотип», «баннер» и т. Д.). В зависимости от профиля мне нужно сделать другую проверку. В принципе, я просто создавал разные классы форм для разных профилей, но также можно было бы назначать изображения объектам через API. Как я могу избежать дублирования этой пользовательской проверки как в формах, так и в сериализаторах?
Как насчет этого? http://www.django-rest-framework.org/api-guide/renderers/#htmlformrenderer Я нашел его здесь http://stackoverflow.com/questions/30047855/django-rest-framework-form может быть это может быть полезно –