我试图从另一个python脚本访问我的Django(v1.10)应用程序数据库,但遇到了一些问题.

这是我的文件和文件夹 struct :

store
 store
   __init.py__
   settings.py
   urls.py
   wsgi.py
 store_app
   __init.py__
   admin.py
   apps.py
   models.py
   ...
 db.sqlite3
 manage.py

other_script.py

根据Django's documentations my other_script.py看起来像这样:

import django
from django.conf import settings

settings.configure(DEBUG=True)
django.setup()

from store.store_app.models import MyModel

但它会生成一个运行时错误:

RunTimeError: Model class store.store_app.models.MyModel doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.

我应该注意到,我的INSTALLED_APPS列表包含store_app作为其最后一个元素.

如果我try 传递这样的配置:

import django
from django.conf import settings
from store.store_app.apps import StoreAppConfig

settings.configure(StoreAppConfig, DEBUG=True)
django.setup()

from store.store_app.models import MyModel

我得到了:

AttributeError: type object 'StoreAppConfig has no attribute  'LOGGING_CONFIG'.

如果我编辑settings.py并添加LOGGING_CONFIG=None,我会得到另一个关于缺少属性的错误,以此类推.

如有任何建议,将不胜感激.

推荐答案

尝尝这个

import sys, os, django
sys.path.append("/path/to/store") #here store is root folder(means parent).
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "store.settings")
django.setup()

from store_app.models import MyModel

这个脚本可以在系统中的任何地方使用.

Django相关问答推荐

如何在REST框架中以SON格式返回错误,而不是HTML格式返回错误?

在Django中使用Generil.ListView类时,分页不起作用

创建用户/将用户登录到客户端服务器的标准OAuth/OIDC流程是什么?

如何从列中捕获数据并将其添加到下拉菜单中,以便表单填充另一个表

Django查询一个查询集的输入结果,以查找没有出现在另一个模型中的对象

DjangoRestFramework 解析错误:"多部分表单解析错误多部分中的无效边界:None"

Django如何在没有ctrl点击的情况下允许多选

UpdateView 不会对 from 属性进行数据绑定

如何根据状态计算表中数据的数量?

在 Django 4.1 中提交表单之前显示数据

Django 注释(),计数()

Django模型中的密码字段

测试 Django ModelForm 是否有实例

将现有 auth.User 数据迁移到新的 Django 1.5 自定义用户模型?

django- nginx: [emerg] open() "/etc/nginx/proxy_params" 在 /etc/nginx/sites-enabled/myproject:11 中失败(2:没有这样的文件或目录)

Django ALLOWED_HOSTS IP 范围

Django - 配置不当:模块django.contrib.auth.middleware

如何重置 PostgreSQL 表上的 ID 序列

如何在 django 2.0 admin 中使用 allow_tags?

Django:必须使用对象 pk 或 slug 调用通用详细视图