Приложение Python для веб-приложения Django - PullRequest
3 голосов
/ 16 ноября 2010

Я написал некоторый код на Python для выполнения задачи. В настоящее время я храню 4-5 классов в отдельных файлах. Теперь я хотел бы превратить все это в веб-приложение на основе базы данных. Я читал учебные пособия по Django, и до сих пор у меня сложилось впечатление, что мне нужно вручную указывать поля и их типы для каждой «модели», которую я использую. Это немного удивляет меня, так как я ожидал, что какая-то возможность ORM просто возьмет существующие классы, которые я уже определил, и каким-то образом отобразит их в базе данных, отвлеченно от меня.

Разве это не так? Я что-то пропустил? Похоже, мне нужно указать все поля и типы в файле 'models.py'.

Хорошо, теперь, помимо этих особенностей, есть ли у кого-нибудь общие советы о том, как лучше всего перенести объектно-ориентированное настольное приложение в веб-приложение?

Спасибо!

Ответы [ 3 ]

1 голос
/ 16 ноября 2010

То, что - это ORM Джанго: он отображает классы в таблицы.Что еще ты ожидал?Должен быть какой-то способ указать, что это за поля, прежде чем вы сможете их использовать, и это осуществляется через класс models.Model и различные подклассы models.Field.Вы, конечно, можете использовать свои классы в качестве смешанных, чтобы использовать существующую бизнес-логику поверх определений полей.

0 голосов
/ 16 ноября 2010

Вам нужно будет проверить вывод, но вы можете заставить Django автоматически создавать модели из существующих баз данных путем одноразового самоанализа.

В соответствии с приведенной ниже ссылкой, вы настроите базу данных в settings.py, а затем вызовете

python manage.py inspectdb

Это приведет к выводу файла примера models.py в стандартный файл для вашей проверки. Чтобы создать файл, просто перенаправьте вывод

python manage.py inspectdb > models.py

Смотрите больше:

http://docs.djangoproject.com/en/dev/howto/legacy-databases/?from=olddocs#auto-generate-the-models

0 голосов
/ 16 ноября 2010

Если вы думаете о веб-приложении на основе серверной базы данных, вам необходимо указать, какие поля данных вы хотите сохранить и какой тип значения вы хотите сохранить.

Существует абстракция, которая анализирует БД для преобразования ее в формат django models.py. Но я не знаю ни одного, который анализирует класс Python и хранит произвольные данные в БД. Как это вообще сработает? Объекты теперь хранятся в виде рассола?

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