zoukankan      html  css  js  c++  java
  • django学习六--操作model创建数据库表

    Django中,与数据库相关的模块是model模块,它提供了一种简单易操作的API方式与数据库交互,它是通过ORM映射的方式来操作数据库。

    Django自带的数据库为sqlite3,如果需要使用其他数据库,需要其他的准备工作,并且,使用其他数据库,需要自己提前建好数据库,然后通过Django去连接,Django并不会创建数据库。

    一个类对应数据库一张表,一个类属性,对应该表的一个字段,一个实例化的类对象就是一个表中的一行数据信息。

    在开发的阶段,工程师只需要python语言本身进行代码设计,而不用太过于分散注意力去操作SQL原生操作语句,这样的方法既有它的优点,同样也有不足之处。

    它们优缺点的大致如下:

    优点:

    1、实现了代码与数据库的解耦合

    2、开发者不需要操作太多的原生SQL,可以提高开发效率

    3、防止SQL注入,通过对象操作的方式,默认就是防止SQL注入

    缺点:

    1、牺牲性能,对象转换到SQL会存在一定的消耗

    2、当需要操作较复杂的语句时,用ORM对象操作的方式很难实现

    在model中创建表的操作步骤:

    一:把应用添加到settings文件中

    二:初始化

    python manage.py migrate


    三:在models.py中创建表

    表分为单表,一对一表,一对多表,多对多表,就是表一般不会独立存在,总会与其他表存在联系。

    我创建了三个表,一个表为Publish(出版社),一个表为Author(作者),还有一个表Book(书籍),

    其中表书籍与表出版社是外键关系,与作者是多对多的关系。

     四:生成数据表

    4.1:
     python manage.py makemigrations #将类转换成数据表结构

    4.2:

    python manage.py  migrate               #根据上一句代码生成数据表

    如上两步(4.1和4.2)可以换成如下三步:
    python manage.py makemigrations polls
    python manage.py sqlmigrate polls 0001

    python manage.py migrate

    都是为了数据库同步,



     五:通过sqlitestudio打开数据表,查看我们的表生成成功。






    本文参考博客地址:https://www.cnblogs.com/jiarenanhao/p/9975781.html
    感谢原作者的无私分享

    下篇博客记录如何对生成的数据表进行“增,删,改,查”操作




  • 相关阅读:
    第二章 Java程序设计环境
    第一章 Java程序设计概述
    (五)Java工程化--Jenkins
    (二)Java工程化--Maven实践
    (四)Java工程化--Git基础
    (三)Java工程化--Git起步
    (一)Java工程化--Maven基础
    codeblocks 中文编码问题
    win10安装virtualbox发生严重错误
    利用ssh传输文件
  • 原文地址:https://www.cnblogs.com/star12111/p/15112174.html
Copyright © 2011-2022 走看看