• Django(根据Models中模型类反向生成数据库表)—— python篇


    一、数据库的配置
    1、 django默认支持 sqlite,mysql, oracle,postgresql数据库。

    sqlite:django默认使用sqlite的数据库,默认自带sqlite的数据库驱动 , 引擎名称:django.db.backends.sqlite3
    mysql:引擎名称:django.db.backends.mysql
    2、创建数据库文件
    首先需要在自己的mysql中创建数据库

    2、SQlite配置
    这个配置在创建Django项目的时候会默认配置好,如下:

    1. DATABASES = {
    2.     'default': {
    3.         'ENGINE': 'django.db.backends.sqlite3',
    4.         'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    5.     }
    6. }

    3、MySQL配置
    这个就需要我们手动配置了,里面必须包括各项属性的设置,具体如下:

    1. DATABASES = {
    2.     'default': {
    3.         'ENGINE': 'django.db.backends.mysql',  # 引擎改为mysql
    4.         'NAME': 'Django_ORM',    # 你的数据库名称
    5.         'USER': 'root',   # 你的数据库用户名
    6.         'PASSWORD': 'mysql', # 你的数据库密码
    7.         'HOST': '127.0.0.1', # 你的数据库主机,留空默认为localhost
    8.         'PORT': '3306', #你的数据库端口
    9.     }
    10. }

    注意: 自己手动配置数据库,也需要手动修改数据库引擎。将mysql引擎放到项目Django_ORM的默认__init__文件下,也就是在__init__.py文件下加入以下代码:

    1. import pymysql
    2. pymysql.install_as_MySQLdb()

     

    二、Models数据表的创建
    1、原本在mysql中创建表 应该如下

    1. creat table book(
    2.     name varchar(20),
    3.     price float(4,2),
    4. )

    2、在Django中需要用一个类来创建表 ,并且必须继承models.Model

    1. # 在Django的类中创建表:必须继承Model
    2. class Book(models.Model):
    3.     # 变量名name,类型为models.CharField字符型,最大长度是20
    4.     name = models.CharField(max_length=20)
    5.     # Floatfield为浮点型,IntegerField为整型,DateField为时间类型
    6.     price = models.FloatField()
    7.     put_date = models.DateField()
    8. # 创建另一张表
    9. class Author(models.Model):
    10.     name = models.CharField(max_length=32)

    3、执行创建
    在配置好数据库、数据库引擎,并且创建完数据表后,就可以开始执行创建了

    创建表的终端shell窗口执行命令:

    python manage.py makemigrations

    生成数据库内容:

    python manage.py migrate

    执行创建后,就可以在migrations文件夹看到创建的数据库文件了:

    4、内容写入成功
    这样数据库内容就成功写入了:

     


    三、在Pycharm中显示
    接下来就可以在pycharm中将数据库显示出来,并且能够可视化操作数据库

    首先点击右侧的database: 

     

    然后点击左上角的“+”号,再Data Resource,再选MySQL:

     

    设置好账户信息和数据库名称就可以了:

     

    本次分享到此结束,感谢大家的阅读!

     

  • 相关阅读:
    14SpringMVC中的默认的异常解析器,以及如何基于XML和注解的方式配置自定义异常解析器
    网络编程之Socket
    SSM+基于java的企业任务流程管理系统开发 毕业设计-附源码221533
    面试官:你认为一个优秀的测试工程师需要具备哪些知识和经验?
    git diff 生成patch合入代码
    【面试题】JS第七种数据类型Symbol详解
    wy的leetcode刷题记录_Day30_二叉树起点!
    【pdf密码】为什么我的PDF文件不能复制文字?
    麒麟操作系统设置QT程序开机自启动有效方法
    解决websocket使用@Autowired、@Value获取值为null解决方法
  • 原文地址:https://blog.csdn.net/xuezhe5212/article/details/140015885