首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【DJ-07】模型API

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可供开发者直接使用,不但支持多种数据库,而且易于使用,功能齐全。数据驱动功能,所以有关表设计和数据交互的部分都是需要深入研究的。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180530G1ZBYJ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券