Key*_*upt 56 python django postgresql orm
我想将Django ORM作为独立使用.尽管花了一个小时搜索谷歌,我仍然有几个问题:
models.py
并运行syncdb
以自动设置表和关系,还是只能使用现有Django项目中的模型?PYTHONPATH
.如果您不打电话给现有型号需要吗?我想最简单的事情就是有人发布一个基本模板或演练过程,澄清文件的组织,例如:
db/
__init__.py
settings.py
myScript.py
orm/
__init__.py
models.py
Run Code Online (Sandbox Code Playgroud)
基本要领:
# 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..
Run Code Online (Sandbox Code Playgroud)
而且你是否需要运行类似的东西:django-admin.py inspectdb
......
(哦,我正在运行Windows,如果它改变了有关命令行参数的任何内容.).
Key*_*upt 32
啊好吧我明白了,并会为试图做同样事情的人发布解决方案.
此解决方案假定您要创建新模型.
首先创建一个新文件夹来存储您的文件.我们称之为"独立".在"standAlone"中,创建以下文件:
__init__.py
myScript.py
settings.py
Run Code Online (Sandbox Code Playgroud)
显然,"myScript.py"可以命名为.
接下来,为模型创建一个目录.
我们将模型目录命名为"myApp",但要意识到这是项目中的普通Django应用程序,因此,请将其命名为您正在编写的模型集合.
在此目录中创建2个文件:
__init__.py
models.py
Run Code Online (Sandbox Code Playgroud)
您需要从现有的Django项目中获取manage.py的副本,或者您可以从Django安装路径中获取副本:
django\conf\project_template\manage.py
Run Code Online (Sandbox Code Playgroud)
将manage.py复制到/ standAlone目录.好的,你现在应该有以下结构:
\standAlone
__init__.py
myScript.py
manage.py
settings.py
\myApp
__init__.py
models.py
Run Code Online (Sandbox Code Playgroud)
将以下内容添加到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 *
Run Code Online (Sandbox Code Playgroud)
并将其添加到settings.py文件中:
DATABASE_ENGINE = "postgresql_psycopg2"
DATABASE_NAME = "myDatabase"
DATABASE_USER = "myUsername"
DATABASE_PASSWORD = "myPassword"
DATABASE_HOST = "localhost"
DATABASE_PORT = "5432",
INSTALLED_APPS = ("myApp")
Run Code Online (Sandbox Code Playgroud)
最后你的myApp/models.py:
# myApp/models.py
from django.db import models
class MyModel(models.Model):
field = models.CharField(max_length=255)
Run Code Online (Sandbox Code Playgroud)
就是这样.现在让Django管理你的数据库,在命令提示符下导航到我们的/ standalone目录并运行:
manage.py sql MyApp
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
36839 次 |
最近记录: |