Django不但支持多种数据库类型,而且还支持开放模型API接口,开发者可以直接调用其API进行数据的增删改查,今天我们一起来了解下,废话不多说,搞起来吧~
创建数据对象
在上节已经创建了Person数据表的基础之上,我们在project所在的路径下打开django shell,进行模型API演示
创建Person对象:
区别:
第一种:一句创建,重复报错
第二种:两句创建,重复报错
第三种:分步创建,重复报错
第四种:一句创建,重复返回重复的对象和False
小结:一般我们选择第一种创建方式,但是第四种更为优秀。
增改查删
增:即创建,上面已介绍
改:需要结合filter()和update(),先创建三个对象
我们将python的name改成php
返回1,表示修改成功,我们查询一下name等于php的Person对象
搞定
查:get()、filter()结合xx__contains='xx'进行过滤查询
查询所有:
查询name中包含'e'的:
链式查询(查询再查询)
很多同学可能已经发现,在get()和filter()方法中都可以结合__contains=''进行查询,但是区别是什么呢?
get()只能得到一个对象,不能接收多个对象
filter()可以接收多个对象,它的返回来类型为列表
模型使用注意点
可能你已经发现在API调用时,数据表返回的字段信息只有name的,为什么呢?因为我们在models.py中的Person的数据表返回值中只设置了返回name:
PS:两个字段中的'姓名'和'年龄'表示什么呢?答:这是字段在admin后台的显示名称
如果我们想要显示name和age两个字段的信息,且想要以自己的格式显示,怎么做呢?
是的,没错,只有第7行的区别
重启django shell查看效果:
Perfect
模型api查询结果不支持负索引:
数据结果去重:distinct()
Django的模型API可供开发者直接使用,不但支持多种数据库,而且易于使用,功能齐全。数据驱动功能,所以有关表设计和数据交互的部分都是需要深入研究的。
领取专属 10元无门槛券
私享最新 技术干货