单独使用Django ORM
我想单独使用Django ORM。尽管搜索了一个小时的Google,但我仍然有几个问题:
- 是否需要我使用setting.py,/ myApp /目录和modules.py文件设置Python项目?
- 我可以创建一个新的
models.py
并运行syncdb
以使其自动设置表和关系,还是只能使用现有Django项目中的模型? - 关于的问题似乎很多
PYTHONPATH
。如果你不调用现有模型,是否需要?
我想最简单的事情是让某人发布基本模板或流程的演练,以阐明文件的组织,例如:
db/ __init__.py
settings.py
myScript.py
orm/
__init__.py
models.py
和基本要领:
# settings.pyfrom 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”。在“ standAlone”中,创建以下文件:
__init__.pymyScript.py
settings.py
显然,“ myScript.py”可以命名为任何名称。
接下来,为你的模型创建一个目录。
我们将模型目录命名为“ myApp”,但要意识到这是项目中的常规Django应用程序,因此,应将其适当地命名为你正在编写的模型集合。
在此目录中,创建2个文件:
__init__.pymodels.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.pyfrom 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.pyfrom django.db import models
class MyModel(models.Model):
field = models.CharField(max_length=255)
就是这样。现在要让Django管理你的数据库,在命令提示符下导航到我们的/ standalone目录并运行:
manage.py sql MyApp
以上是 单独使用Django ORM 的全部内容, 来源链接: utcz.com/qa/433674.html