当前位置: 首页 > 面试题库 >

单独使用Django ORM

羊时铭
2023-03-14
问题内容

我想单独使用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.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”。在“ 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


 类似资料:
  • 问题内容: 是否可以仅使用可以在大多数浏览器(IE,Mozilla,Safari)上运行的css绘制圆? 问题答案: 您可以将.before与带有unicode符号的内容一起用作圆圈(25CF)。 我建议这样做,因为边界半径在IE8及以下版本中将不起作用(我认识到这一建议有点儿想法)。

  • 问题内容: 谁能总结一下,究竟什么功能使您在Mockito的基础上添加了PowerMock? 到目前为止,我已经找到了这些: 模拟静态,最终和私有方法 删除静态初始化器 允许在没有依赖项注入的情况下进行嘲笑-我不清楚这一点。你能详细说明吗? 它还会添加其他内容吗?您可以分几行进行总结吗? 使用PowerMock时需要牺牲一些东西吗? 问题答案: 我不知道还有其他好处,但是我想解决您的两个子问题(这

  • 本节将会描述各个安装元件的详细信息。各元件按用户可以识别的阶段分组。 它们在安装过程中按次序显示出来。注意,每次安装并不会使用所有的模块; 至于使用哪些模块,取决于您的安装方法和您的硬件。 6.3.1. 启动 Debian 安装程序与配置硬件 假设 Debian 安装程序已经启动,然后您看到了初始画面。 此时, debian-installer 的能力还很有限。它还不了解您的硬件,首选的语言, 甚

  • 本节将会描述各个安装元件的详细信息。各元件按用户可以识别的阶段分组。 它们在安装过程中按次序显示出来。注意,每次安装并不会使用所有的模块; 至于使用哪些模块,取决于您的安装方法和您的硬件。 6.3.1. 启动 Debian 安装程序与配置硬件 假设 Debian 安装程序已经启动,然后您看到了初始画面。 此时, debian-installer 的能力还很有限。它还不了解您的硬件,首选的语言, 甚

  • 本节将会描述各个安装元件的详细信息。各元件按用户可以识别的阶段分组。 它们在安装过程中按次序显示出来。注意,每次安装并不会使用所有的模块; 至于使用哪些模块,取决于您的安装方法和您的硬件。 6.3.1. 启动 Debian 安装程序与配置硬件 假设 Debian 安装程序已经启动,然后您看到了初始画面。 此时, debian-installer 的能力还很有限。它还不了解您的硬件,首选的语言, 甚

  • 我有一个带有签名字节的数组和一个带有ocsp字节的数组,用于将ltv信息添加到我的pdf中。该签名是时间戳签名。现在,我尝试将这些信息添加到一个pdf文件中,该文件可用于 ... 好的,这样行。但在签名中,我必须设置标志认证级别1(不允许更改),我的应用程序将无法工作。因为添加LTV后,我更改了文档。我尝试创建自己的DSS字典并将其添加到文档中,但失败了。有谁能帮忙吗?提前谢谢