Обработка сессий Django - PullRequest
       7

Обработка сессий Django

0 голосов
/ 18 июля 2011

Я создаю приложение django.Использование SQLAlchemy в качестве ORM для сохранения данных, таких как заказ на покупку для пользователя.Однако хочу использовать django ORM для промежуточного программного обеспечения сеанса.

Это плохое проектное решение использовать оба этих компонента ORM?

Если мне следует использовать только один ORM, то какой из них следует использовать.

Спасибо J

Ответы [ 2 ]

0 голосов
/ 20 июля 2011

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

Я считаю, что с SQLAlchemy легче работать. Тем не менее:

  • Вы не можете легко управлять группами безопасности / пользователей для ваших объектов SQlAlchemy. (Используйте Django для этих компонентов)
  • Я бы не рекомендовал использовать SQLAlchemy и Django для доступа к одним и тем же таблицам, лучше использовать один ORM.

В противном случае - если ваши таблицы SQLAlchemy отделены от Django и не требуются для обеспечения безопасности, генерации форм или прямого доступа к таблицам Django, то это прекрасно работает. Я не использую формы Django, и поэтому большинство всего, кроме моих сессий и пользовательских данных, находится в SQLAlchemy.

Если вам приходилось использовать только один, используйте Django ORM, потому что в противном случае вы потеряете множество функций, встроенных в Django, и с таким же успехом можете использовать другой фреймворк, такой как пилоны.

0 голосов
/ 20 июля 2011

Если вы работаете с Django, вы, вероятно, выбрали его, потому что чувствуете, что он дает вам больше того, что нужно для вашего проекта, чем другие веб-фреймворки Python.Если вы используете SQLAlchemy с Django, вы теряете большую часть того, что дает вам Django (например, привязка к библиотеке форм, большая коллекция приложений django и т. Д.)

Кроме того, я бы не сталрекомендую использовать оба.Это не то, что было бы невозможно, но я просто не вижу преимущества в том, чтобы заставлять себя переключаться между двумя совершенно разными API, чтобы делать одно и то же.

...