使用Django的ORM作为独立的
可能重复:
只使用Django的一些部分?
只使用Django的数据库部分
我想单独使用Django ORM。 尽pipe在谷歌search了一个小时,我仍然留下了几个问题:
- 是否需要我使用setting.py,/ myApp /目录和modules.py文件来设置我的Python项目?
- 我可以创build一个新的
models.py
并运行syncdb
以自动设置表和关系,还是只能使用现有的Django项目中的模型? - 似乎有很多关于
PYTHONPATH
的问题。 如果你不打电话给现有的模型,这是需要的?
我猜最简单的事情是让别人发布一个基本的模板或stream程,澄清文件的组织结构,例如:
db/ __init__.py settings.py myScript.py orm/ __init__.py models.py
基本要领:
# settings.py from django.conf import settings settings.configure( DATABASE_ENGINE = "postgresql_psycopg2", DATABASE_HOST = "localhost", DATABASE_NAME = "dbName", DATABASE_USER = "user", DATABASE_PASSWORD = "pass", DATABASE_PORT = "5432" ) # orm/models.py # ... # myScript.py # import models..
而且你是否需要运行如: django-admin.py inspectdb
…
(哦,我正在运行Windows,如果这改变了任何关于命令行参数)。
嗯,我想通了,并会发布解决scheme,任何人试图做同样的事情。
此解决scheme假定您要创build新的模型。
首先创build一个新的文件夹来存储您的文件。 我们将其称为“独立”。 在“standalone”中,创build以下文件:
__init__.py myScript.py settings.py
显然“myScript.py”可以被命名为任何东西。
接下来,为您的模型创build一个目录。
我们将我们的模型目录命名为“myApp”,但是要意识到这是一个正常的项目中的Django应用程序,因此,将它命名为您正在编写的模型的集合。
在这个目录下创build2个文件:
__init__.py models.py
您将需要从现有的Django项目中获取manage.py的副本,或者您可以从Django安装path获取副本:
django\conf\project_template\manage.py
将manage.py复制到/ standalone目录。 好吧,你现在应该有以下结构:
\standAlone __init__.py myScript.py manage.py settings.py \myApp __init__.py models.py
将以下内容添加到您的myScript.py文件中:
# settings.py from django.conf import settings settings.configure( DATABASE_ENGINE = "postgresql_psycopg2", DATABASE_NAME = "myDatabase", DATABASE_USER = "myUsername", DATABASE_PASSWORD = "myPassword", DATABASE_HOST = "localhost", DATABASE_PORT = "5432", INSTALLED_APPS = ("myApp") ) from django.db import models from myApp.models import *
并将其添加到您的settings.py文件中:
DATABASE_ENGINE = "postgresql_psycopg2" DATABASE_NAME = "myDatabase" DATABASE_USER = "myUsername" DATABASE_PASSWORD = "myPassword" DATABASE_HOST = "localhost" DATABASE_PORT = "5432", INSTALLED_APPS = ("myApp")
最后是你的myApp / models.py:
# myApp/models.py from django.db import models class MyModel(models.Model): field = models.CharField(max_length=255)
就是这样。 现在让Djangopipe理你的数据库,在命令提示符下导航到我们的/ standalone目录并运行:
manage.py sql MyApp