位置: 编程技术 - 正文

django模型层(model)进行建表、查询与删除的基础教程(django模块详解)

编辑:rootadmin

推荐整理分享django模型层(model)进行建表、查询与删除的基础教程(django模块详解),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:django modeladmin,django 模态框,django 模态框,django 模态框,django modelform,django 模型,django 模型,django模块详解,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

在django的框架设计中采用了mtv模型,即Model,template,viewer

Model相对于传统的三层或者mvc框架来说就相当对数据处理层,它主要负责与数据的交互,在使用django框架设计应用系统时,需要注意的是django默认采用的是orm框架中的codefirst模型,也就是说开发人员只需要专注于代码的编写,而不需要过多的关注数据库层面的东西,把开发人员从数据库中解放出来

django会根据Model类生成一个数据库镜像文件,然后再使用该镜像文件生成数据库,同时该文件将记录与数据库同步版本的变化,所以在使用django进行开发时不要手工去修改数据库,这样会造成django框架的版本记录不正确,从而无法正确的同步数据模型与数据库的内容

django生成的镜像文件内容如下:

以上内容为生的一一个版本的镜像,内容记录了对model所在的app的记录,以及执行的动作,如上面的镜像文件记录为对web的app中的model增加了一个名称为sex的字段,字段类型为Boolean,默认为True。

要说一个项目最重要的部分是什么那铁定数据了,也就是数据库,所以下面这篇就带大家走进django关于模型层model的使用,model主要就是操纵数据库不使用sql语句的情况下完成数据库的增删改查。

本篇仅带领大家进行简单的建表、查询和删除,下面话不多说了,来一起看看详细的介绍吧。

一、ORM

映射关系:

表名 <-------> 类名

字段 <-------> 属性     

表记录 <------->类实例对象

二、创建表(建立模型)

1、创建表的代码写在项目下的models文件中

1)比如我们创建一个图书表,建立如下:

类名就是表名,属性就是字段。继承django提供给我们的用于做转换的models.Model才能将我们写的类转化为数据库

定义好模型之后,你需要告诉Django 使用这些模型。你要做的就是修改配置文件。

2)字段常用参数

(1)null

如果为True,Django 将用NULL 来在数据库中存储空值。 默认值是 False.

(1)blank

如果为True,该字段允许不填。默认为False。

要注意,这与 null 不同。null纯粹是数据库范畴的,而 blank 是数据验证范畴的。

如果一个字段的blank=True,表单的验证将允许该字段是空值。如果字段的blank=False,该字段就是必填的。

(2)default

字段的默认值。可以是一个值或者可调用对象。如果可调用 ,每有新对象被创建它都会被调用。

(3)primary_key

如果为True,那么这个字段就是模型的主键。如果你没有指定任何一个字段的primary_key=True,Django 就会自动添加一个IntegerField字段做为主键,所以除非你想覆盖默认的主键行为,否则没必要设置任何一个字段的primary_key=True。

(4)unique

如果该值设置为 True, 这个数据字段的值在整张表中必须是唯一的

django模型层(model)进行建表、查询与删除的基础教程(django模块详解)

(5)choices

由二元组组成的一个可迭代对象(例如,列表或元组),用来给字段提供选择项。 如果设置了choices ,默认的表单将是一个选择框而不是标准的文本框,而且这个选择框的选项就是choices 中的选项。

这是一个关于 choices 列表的例子:

每个元组中的第一个元素,是存储在数据库中的值;第二个元素是在管理界面或 ModelChoiceField 中用作显示的内容。 在一个给定的 model 类的实例中,想得到某个 choices 字段的显示值,就调用 get_FOO_display 方法(这里的 FOO 就是 choices 字段的名称 )。

例如:

2、修改配置文件setting

1)django默认使用的是sqlite3数据库,我们使用的是mysql数据库所以需要修改配置

原先配置(将这些配置注释掉)

重新配置

3、创建表命令

1)同步更改数据库表或字段

老版本:

Django 1.7.1 及以上的版本需要用以下命令

2)运行python manage.py makemigrations后我们应用下的migrations文件夹里会自动生成一个文件,是将我们写的类进一步转化:

3)运行python manage.py migrate后表就插入到我们的数据库中了

4)注意:

如果我们的python是3.x版本运行上面两条会报错

在3.x走数据库用的是pymysql模块所以我们需要告诉django用pymysql

在应用下的__init__.py文件里添加代码

运行后在数据库里查看:

会发现django给我们创建了很多表 我们自己创建的Book表会被自动改名为 应用名_book 这样避免了我们在不同的应用中有相同的表,其他的表后面用到时会一一介绍。

三、查看表

1、先在视图函数view中将数据取出来

查询相关

<1> all(): 查询所有结果

<2> filter(): 查询所给筛选条件相匹配的对象

2、在template模版中接收

四、删除

删除方法就是 delete() 。它运行时立即删除对象而不返回任何值。

比如我们给表中添加一个删除按钮来实现点击按钮后数据库每条记录的删除

1、template模版

2、url 分发

3、视图函数view实现删除

总结

标签: django模块详解

本文链接地址:https://www.jiuchutong.com/biancheng/372312.html 转载请保留说明!

上一篇:LRUCache的实现原理及利用python实现的方法(lrucache算法)

下一篇:详解supervisor使用教程(supervisor producer)

  • 减免税填到营业外收入哪一项
  • 应交税费负数调整到其他非流动资产
  • 小规模纳税人所得税税率是5还是2.5
  • 购买财务软件做什么科目
  • 个体工商户单位性质怎么填
  • 公司购车需要公章吗
  • 小规模企业跨月专票如何冲红
  • 委托加工物资需要计提存货跌价准备吗
  • 退税抵税申请表
  • 非独生子女赡养父母扣税
  • 购进用于研发的国产设备进项税可以抵扣吗
  • 生产经营所得如何缴纳个人所得税
  • 子公司注销欠母公司借款怎么办
  • 电子增值普通发票经营范围呢免费吗
  • 个体户个人所得税怎么交
  • 金税盘维护费抵税会计分录
  • 职工教育经费税前扣除标准2023年
  • 科技研发政策
  • 现金福利支出需要申报个税吗
  • 新公司值得入职吗
  • 增值税减少对企业的利弊
  • 一般纳税人普通发票跨月冲红流程
  • 原始凭证与记账凭证的填制实验报告
  • 土地增值税的税率和速算扣除数
  • linux关闭thp
  • 开具红字发票后所冲销的销项税应怎么处理?
  • 合伙企业财产清算顺序
  • win 10有什么用
  • 差旅费津贴个人所得税题目
  • 违反发票管理的处罚
  • 【2023-Pytorch-检测教程】手把手教你使用YOLOV5做电线绝缘子缺陷检测
  • 雷尼尔山位于美国西北部
  • 补计提去年所得税费用会计分录
  • php demo
  • php判断是否为字母
  • 回迁房会被收回吗
  • 宝塔怎么做?
  • 公司股权转移怎么办理
  • 其他综合收益 综合收益
  • 财务没有及时缴费怎么办
  • php clone函数
  • 小微企业材料
  • 应收账款与营业收入比例分析
  • 公司银行开户的经办人有无风险
  • 印花税如何记账入账
  • 发票上的抵扣联抵扣联是什么意思
  • 主营业务成本结转本年利润会计分录
  • 工资表怎么每个都有表头
  • 电子税务局如何增加税种认定
  • 货币市场基金的特点
  • 银行存款出现负数怎么办
  • 对公账户是怎样的
  • 如何降低应收账款成本
  • 一般纳税人增值税结转账务处理
  • 固定资产处置损益怎么算
  • 标书费没有发票合理吗
  • 对外公司
  • 结转损益结转了两次咋办
  • 会计账簿记账规范要求
  • 应收账款的客户如何分析
  • 结转固定资产清理损益的账务处理
  • 没实收资本还怎么做账
  • 工程结算价超过合同价10%
  • 小规模公司用什么成本核算方法
  • 营业税包含
  • 小规模纳税人收到专票的会计分录
  • 母子公司资金往来财税问题
  • 三方抵账协议做什么科目
  • linux实现mysql数据库每天自动备份定时备份
  • win8 photoshop
  • windows查找命令
  • egui.exe是什么进程
  • win8如何清空电脑里的所有东西
  • win7使用率
  • 使用 WinSCP 管理 Linux VPS/服务器上的文件 图文教程
  • windows7开机
  • cocos2dx入门
  • 安卓版影音播放器哪个好用
  • jquery操作html代码
  • 湖南税务发票查询系统查不到外省的发票
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设