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文件;

image-20211126154004582

  • 注意事项

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

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

      python manage.py makemigrations
      python manage.py migrate
      

      image-20211127093356859

2.编写自己的表

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

image-20211126155356467

image-20211126155422395

3.创建超级用户

  • python manage.py createsuperuser
    
  • image-20211126180522627

4.注册模型

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

  • image-20211127093459053

5.补充:注意事项

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

  • image-20211127093810796

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

posted @ 2021-11-27 09:42  紫青宝剑  阅读(178)  评论(0编辑  收藏  举报