【发布时间】:2015-04-29 19:45:04
【问题描述】:
我有一个目录,其中包含一个带有 models.py 的 Django 项目,我在其中定义了一些模型。我在其他地方有另一个目录,其中有一个 Python 脚本。在这个脚本中,我想从 models.py 中导入其中一个模型“Foo”。
对于“Foo”表,我想创建条目、更新、获取等...我该怎么做呢?
【问题讨论】:
我有一个目录,其中包含一个带有 models.py 的 Django 项目,我在其中定义了一些模型。我在其他地方有另一个目录,其中有一个 Python 脚本。在这个脚本中,我想从 models.py 中导入其中一个模型“Foo”。
对于“Foo”表,我想创建条目、更新、获取等...我该怎么做呢?
【问题讨论】:
你需要运行 django.setup()
import os
import django
script_path = os.path.dirname(__file__)
os.environ['DJANGO_SETTINGS_MODULE']='myapp.settings'
django.setup()
现在您可以正常导入模型了
【讨论】:
你可以使用sql炼金术
您可以将主脚本添加为 django 项目的一部分
您可以使用 Django Rest Framework 提供内容,当您通过 manage.py 访问时会发生数据库连接,该表可供任何有权限的人使用。
tl:博士;您需要连接到所述数据库
【讨论】:
如果您的 django 项目在您的 PYTHONPATH 中,您可以在任何地方访问它,否则您可以使用 importlib.machinery 导入它或制作一个 .pth 文件并在那里指定您的 django 的路径
import importlib.machinery
loader = importlib.machinery.SourceFileLoader('modulename', 'path/to/module')
module = loader.load_module()
如果您使用 django 应用程序的路径来加载模型,现在您可以使用模块来访问您的 models.py
或使用站点模块添加它
import sites,
sites.addsitedir('/path/to/your/module.py')
【讨论】: