我正在编写一个脚本,将一些模型对象导入到我的Django应用程序使用的数据库中.在过go ,我通过先跑./manage.py shell,然后跑import myscript来解决这个问题.我相信有更好的办法.我希望能够使用python scriptname.py从我的HD上的任何位置调用脚本,并且在该脚本的前几行中,它将执行任何必要的导入/其他操作,这样它就可以访问模型对象并表现为使用manage.py shell运行.

我需要在我的脚本中添加什么才能实现这一点?

EDIT:

根据@Melug的回答,添加了动态设置Python路径以解决问题的"我的HD上的任何地方"部分:

import sys
sys.path.append('c:\\my_projec_src_folder')
from myproject import settings
from django.core.management import setup_environ
setup_environ(settings)

推荐答案

您需要先设置Django环境:

from your_project import settings
from django.core.management import setup_environ
setup_environ(settings)

最后导入你的模型,一切都像Django 一样顺利.

Django相关问答推荐

在保存新实例之前删除一个实例(Django模型保存方法)

在模板中自动添加变量

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

无法创建超级用户,因为 Django 中的一列(外键)不能为空

断开连接不会发生

Django 身份验证系统修改

如何让 Django 在模板更改时重新启动运行服务器?

Django 模型命名约定

Django 表单有 Select 但也有自由文本选项?

是否有 django 模板过滤器来显示百分比?

在 django/python 上访问请求标头

为什么 django 1.7 会为字段 Select 的变化创建迁移?

如何使用自定义 AdminSite 类?

relation "django_site" does not exist

Django - 如何从模型实例中获取管理员 URL

has_object_permission 和 has_permission 有什么区别?

对 django 的 Http Delete 请求返回 301

django 静态文件版本控制

javascript 文件中的 Django {% static 'path' %}

有没有一种简单的方法可以从 CharField 填充 SlugField?