Django ORM для настольных приложений - PullRequest
12 голосов
/ 30 июля 2009

В последнее время я все больше знакомлюсь с Джанго. У меня есть новый проект, над которым я работаю, который будет использовать Python для настольного приложения. Можно ли использовать Django ORM в настольном приложении? Или я должен просто пойти с чем-то вроде SQLAlchemy ?

Ответы [ 7 ]

12 голосов
/ 30 июля 2009

Люди Джанго - разумные люди с философией разделения вещей. Так что да, теоретически вы должны быть в состоянии использовать ORM от Django в автономном приложении.

Вот одно руководство, которое я нашел: Django ORM как отдельный компонент .

4 голосов
/ 30 июля 2009

Я бы предложил использовать SQLAlchemy и декларативный слой поверх него, такой как Elixir , если вы предпочитаете Django-подобный синтаксис.

3 голосов
/ 30 июля 2009

Да, это так. Commonsense Computing Project в медиа-лаборатории MIT делает это для ConceptNet, семантическая сеть. Вы можете получить источник здесь: http://pypi.python.org/pypi/ConceptNet/4.0b3

1 голос
/ 31 октября 2011

ORM peewee имеет декларативный синтаксис, который должен быть знаком пользователям django и может использоваться как отдельный. Вот проект Документы

0 голосов
/ 17 января 2019

Это возможно и задокументировано в документации здесь :

Вам нужно настроить django, как показано ниже:

import django
from django.conf import settings
from myapp import myapp_defaults

settings.configure(default_settings=myapp_defaults, DEBUG=True)
django.setup()

# Now this script or any imported module can use any part of Django it needs.
from myapp import models
0 голосов
/ 17 января 2011

Camelot выглядит многообещающе, если вы хотите создавать настольные приложения Python, используя БД. Он использует SQLAlchemy, хотя. Еще не пробовал.

0 голосов
/ 31 июля 2009

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

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