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

来源:5-2 Django数据导入

吧啦咪呀啾啾啾

2019-05-07 13:35

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

写回答 关注

3回答

  • Jack
    2019-05-08 10:45:32
    已采纳

    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接口规范

    吧啦咪呀啾啾...

    谢谢,jack

    2019-05-08 11:38:44

    共 1 条回复 >

  • Jack
    2019-05-08 10:12:32
    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来操作数据库

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

    吧啦咪呀啾啾...

    额,第一个问题懂了. 第二个问题就 不是这个了. 想问的是 os.environ['DJANGO_SETTINGS_MODULE'] 为什么要这样写,换句话说 os.environ[] 是什么, DJANGO_SETTINGS_MODULE 又是什么

    2019-05-08 10:28:12

    共 1 条回复 >

  • Jack
    2019-05-07 13:57:05

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

    吧啦咪呀啾啾...

    源码在看了, 有两个提问: 1. 脚本文件写好了,是否要在settings.py中设置执行路径 2. 源码中的" os.environ['DJANGO_SETTINGS_MODULE'] = 'imooc.settings' " 这里能否详解下

    2019-05-07 14:11:07

    共 1 条回复 >

全面掌握Django ORM

全面掌握Django ORM,以Django官方文档为依据,准确、权威。

11966 学习 · 41 问题

查看课程

相似问题