Django的models由数据库表生成

Posted 紫青宝剑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django的models由数据库表生成相关的知识,希望对你有一定的参考价值。

Django的models由数据库表生成

  • 参考文献:https://www.cnblogs.com/sukura/p/14306510.html

  • 目的或效果:方便实现使用django原生的后台管理系统;

  • 准备工作

  • 数据库(MySql)中的表已经创建完成;

  • django的配置文件中已经配置好了Mysql的连接配置

  • init文件中将pymysql的连接修改

  • 保证django中已经创建了对应的app

    import pymysql
    pymysql.install_as_MySQLdb()
    

1.使用命令

  • python manage.py inspectdb > app/models.py    #数据库中的全部数据表
    python manage.py inspectdb table >app/models.py  # 数据库中的某张(table)表,进行转换;
    

    写表名就是导入单张表,不写就是导入所有的表

  • 使用时注意做好备份,原来models.py的备份,如果出错,则出错信息会覆盖原来编写好的models.py文件;

  • 注意事项

    • 将生成的model.py文件中的managed = True;生成的原本是False,将值修改为True,因为生成的models是一个不可修改/删除的models,修改后则可以告诉django可以去对数据库进行操作;

    • 修改后注意使用同步语句进行同步或者等待编写好后期的表后直接同步一次;

      python manage.py makemigrations
      python manage.py migrate
      

2.编写自己的表

  • 使用与以前相同
python manage.py makemigrations   # 生成指定文件;
python manage.py migrate		  # 同步到数据库;

3.创建超级用户

  • python manage.py createsuperuser
    

4.注册模型

  • 在app下的models模型中;使用注册功能进行注册生成的models模型;

5.补充:注意事项

  • 在一般开发的时候会把urls.py中的admin的路由进行注释,但是使用后台管理系统的时候注意将该路由打开;容易出错;

每天都是更接近成功的一天,加油,奥利给!

以上是关于Django的models由数据库表生成的主要内容,如果未能解决你的问题,请参考以下文章

Django使用数据库表反向生成models类

数据库表反向生成django ORM inspectdb

数据库表反向生成 Django ORM inspectdb

Django-根据数据库表生成 model 类

django根据已有数据库表生成model类

Django在使用models生成数据库表时报错: __init__() missing 1 required positional argument: 'on_delete'