可能的重复:
仅使用 Django 的某些部分?
仅使用Django的DB部分
我想独立使用 Django ORM。尽管在谷歌上搜索了一个小时,我仍然有几个问题:
models.py
并运行 syncdb
让它自动设置表和关系,还是只能使用现有 Django 项目中的模型?PYTHONPATH
的问题。如果您不调用现有模型,是否需要这样做?我想最简单的事情就是有人发布一个基本模板或流程演练,澄清文件的组织,例如:
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。)。
啊,好吧,我想通了,并将为任何尝试做同样事情的人发布解决方案。
此解决方案假设您想要创建新模型。
首先创建一个新文件夹来存储您的文件。我们将其称为“独立”。在“standAlone”中,创建以下文件:
__init__.py
myScript.py
settings.py
显然“myScript.py”可以命名为任何名称。
接下来,为您的模型创建一个目录。
我们将模型目录命名为“myApp”,但要意识到这是项目中的一个普通 Django 应用程序,因此,将其命名为您正在编写的模型集合。
在此目录中创建 2 个文件:
__init__.py
models.py
您需要从现有的 Django 项目中获取 manage.py 的副本,或者您可以从 Django 安装路径中获取副本:
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)
就是这样。现在让 Django 管理您的数据库,在命令提示符下导航到我们的 /standalone 目录并运行:
manage.py sql MyApp