问答详情
源自:5-2 Django数据导入

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

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

提问者:吧啦咪呀啾啾啾 2019-05-07 13:35

个回答

  • 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 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来操作数据库

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

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

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