为了账号安全,请及时绑定邮箱和手机立即绑定

老师写更改数据的迁移脚本,有详解的教程么?

看了之前的讲师, 都是在navicat 或者 终端直接修改, 并没有说怎么写脚本文件

正在回答

3 回答

https://docs.djangoproject.com/en/2.2/topics/settings/#on-the-server-mod-wsgi

在服务器环境中,比如mod_wsgi或者uWSGI网关接口,需要告诉WSGI,你准备使用哪个Django settings文件。

os.environ就是设置系统环境变量,'DJANGO_SETTINGS_MODULE'这是字符是约定的WSGI接口规范

0 回复 有任何疑惑可以回复我~
#1

吧啦咪呀啾啾啾 提问者

谢谢,jack
2019-05-08 回复 有任何疑惑可以回复我~
  1. 你说的是orm_data.py脚本吗,这个与项目无关,手动执行一下,随机生成一些数据到库里面

  2. 如备注写的,设置项目的配置文件路径。

根据你的问题,我猜是有个知识点没理解

project_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(project_path)  # 将项目路径添加到系统搜寻路径当中
os.environ['DJANGO_SETTINGS_MODULE'] = 'imooc.settings'  # 设置项目的配置文件
django.setup()

from courses.models import Teacher, Course, Student, TeacherAssistant

orm_data.py这个脚本与项目无关,是手动,独立执行的,使用ORM生成一些数据到库里面。生成数据到库里面,要么你之前说的用navicat,或者写sql语句插入。现在我是在要在一个外部的脚本里面使用Django ORM,不写原生的SQL语句,所以就使用django.setup() 参考:在外部脚本调用Django的orm来操作数据库

不知道我解释清楚了没有,欢迎给个好评。

1 回复 有任何疑惑可以回复我~
#1

吧啦咪呀啾啾啾 提问者

额,第一个问题懂了. 第二个问题就 不是这个了. 想问的是 os.environ['DJANGO_SETTINGS_MODULE'] 为什么要这样写,换句话说 os.environ[] 是什么, DJANGO_SETTINGS_MODULE 又是什么
2019-05-08 回复 有任何疑惑可以回复我~

navicat或者终端直接修改适合少量数据。脚本没啥教程耶,就是几个函数而已,源码在 githubhttps://github.com/liaogx/imooc

0 回复 有任何疑惑可以回复我~
#1

吧啦咪呀啾啾啾 提问者

源码在看了, 有两个提问: 1. 脚本文件写好了,是否要在settings.py中设置执行路径 2. 源码中的" os.environ['DJANGO_SETTINGS_MODULE'] = 'imooc.settings' " 这里能否详解下
2019-05-07 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

老师写更改数据的迁移脚本,有详解的教程么?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信