django学习六--操作model创建数据库表
2021/8/7 19:06:42
本文主要是介绍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 感谢原作者的无私分享 下篇博客记录如何对生成的数据表进行“增,删,改,查”操作
这篇关于django学习六--操作model创建数据库表的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24MongoDB资料:新手入门完全指南
- 2024-12-20go-zero 框架的 RPC 服务 启动start和停止 底层是怎么实现的?-icode9专业技术文章分享
- 2024-12-19Go-Zero 框架的 RPC 服务启动和停止的基本机制和过程是怎么实现的?-icode9专业技术文章分享
- 2024-12-18怎么在golang中使用gRPC测试mock数据?-icode9专业技术文章分享
- 2024-12-15掌握PageRank算法核心!你离Google优化高手只差一步!
- 2024-12-15GORM 中的标签 gorm:"index"是什么?-icode9专业技术文章分享
- 2024-12-11怎么在 Go 语言中获取 Open vSwitch (OVS) 的桥接信息(Bridge)?-icode9专业技术文章分享
- 2024-12-11怎么用Go 语言的库来与 Open vSwitch 进行交互?-icode9专业技术文章分享
- 2024-12-11怎么在 go-zero 项目中发送阿里云短信?-icode9专业技术文章分享
- 2024-12-11怎么使用阿里云 Go SDK (alibaba-cloud-sdk-go) 发送短信?-icode9专业技术文章分享