2014-10-28 3 views
0

У нас есть приложение django, которое по своей сути представляет собой серию веб-страниц с формами, которые наши пользователи заполняют в порядке. (Мы будем называть конкретную серию страниц с формами на них «поток».)Django - Использование различных моделей в разных средах

Мы будем отмечать это приложение для партнера - партнер захочет добавить некоторые поля и даже добавить некоторые веб-страницы с их собственными новыми Формами. Это может привести к новому порядку заполнения форм. (Новый «поток», в дополнение к изменениям в существующих формах/моделях или новых формах/моделях.)

Каков наилучший способ расширить существующую, простую структуру форм и моделей для использования разных форм и моделей в зависимости от исполняемого экземпляра приложения (например, переменной среды)? Некоторые вещи, которые мы думали о:

  • реализовать что-то вроде get_user_model для каждой модели и формы использования в приложении, которое будет выглядеть в текущей среде
  • реализовать более универсальный магазин ключ-значение, так что мы не связанные с типами текущей реализации (т. е. иметь имя поля данных также как часть данных)
  • модель данных, которая отслеживает «поток» данной конкретной среды, и какие модели необходимо использовать
  • Подкласс существующих моделей и Формы для каждой новой реализации белых ярлыков

ответ

0

Модель поле инъекции может быть то, что вы ищете, посмотрите на this article

подход сводится к трем понятиям:

  • Динамическое добавление полей для моделирования классов Обеспечение Джанго модель
  • система уважает новые поля
  • Получение заказа на загрузку правильного для работы выше

Mezzanine проделал прекрасную работу, реализующий эту инъекцию модель поля с динамическими дополнительными моделями с помощью EXTRA_MODEL_FIELDS

Смежные вопросы