Лучший способ моделирования Django - PullRequest
1 голос
/ 20 февраля 2012

В настоящее время мы работаем так:

  1. Создайте модель EER с помощью MySQL Workbench, пригласите хотя бы одного человека для обсуждения

  2. Generateтаблицы из модели EER

  3. manage.py inspectdb для создания models.py, тщательно отредактируйте models.py, так как inspectdb не работает идеально

  4. Кодирование (теперь я единственный кодер).Код будет обновляться, если будут необходимы изменения в моделях, но не в диаграмме EER

Проблема в том, что теперь другим членам команды (теперь есть только один) трудно обсуждать длядальнейшие изменения, если диаграмма не синхронизирована.Мое мнение таково, что обсуждение может быть просто основано на коде, который также является своего рода документом.Для меня нет большой разницы, чтобы посмотреть на диаграмму или код.Если нам нужно будет обновлять документ, для меня это выглядит как некое дублирование.Как вы это делаете?

Мы также пытались сохранить только один источник, например код, поэтому каждый раз, когда мы используем syncdb для генерации таблиц, а затем генерируем диаграмму EER, проблема заключается в автоверстка из MySQL Workbench работает не так хорошо, вам всегда нужно все переставлять.Я также нашел какой-то инструмент, который мог бы конвертировать диаграммы UML в модели или наоборот, но я сомневаюсь, что он будет работать хорошо, потому что я использовал инструмент CASE, который мог генерировать исходный код (Java / C ++) из диаграмм UML, а также документов (например, Word), но этот инструмент не был прост в использовании, и у меня возникли некоторые проблемы ... У меня вопрос: есть ли хороший инструмент для простой синхронизации кода и диаграмм?

1 Ответ

2 голосов
/ 20 февраля 2012

Если вы просто хотите сгенерировать обновленную диаграмму для работы с вашей командой:

  1. Установить django-extensions и pygraphiz : pip install pygraphviz django-extensions
  2. Добавить 'django_extensions' в INSTALLED_APPS : это позволит использовать команды управления расширениями django
  3. Генерация графика : ./manage.py graph_models -a -g -o my_project_visualized.png

Подробнее о команде graph_model .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...