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

Django ORM 多表操作

目录 Django ORM 多表操作 表模型 表关系 创建模型 逆向到表模型 插入数据 ORM 添加数据(添加外键) 一对多(外键 ForeignKey) 一对一 (OneToOneFeild) 多对多...,自动创建 ps:外键字段不需要写表名_id后面的_id,ORM创建时候自动添加了_id,以及外键以虚拟字段形式存在 创建模型 '''models.py''' from django.db import...添加数据(添加外键) 一对多(外键 ForeignKey) 方式一: 传对象形式,返回值数据类型是对象,书籍对象 步骤: 获取出版社对象 给书籍出版社属性 pulish 传出版社对象 '''test.py...返回值数据类型是对象,书籍对象。 步骤: a. 获取出版社对象 id b....(title="三国演义").first() book.authors.clear() 跨表查询 正向:外键字段在哪,去从该表角度查另外表,就是正向 反向:从没有外键表去查另外相关表,就是反向

1.7K20
您找到你想要的搜索结果了吗?
是的
没有找到

后端框架学习-Django

注意:使用伪删除时,确保显示数据地方,均添加了is_active=True过滤查询。...list_filter = ['id'] #添加搜索框(模糊查询) search_fields = ['title'] #添加可在列表页可编辑字段,与 #list_display_links...pagenator = Paginator(object_list,per_page) object_list 需要分页数据对象列表,如QuerySet per_page 分页数据个数 返回值:Paginator...= paginator.page(页码) page对象属性: object_list:当前页上所有数据对象列表 number:当前页面的序号,从1开始 paginator:当前page对象相关Paginator...将自动添加后缀 django发送邮件 业务场景: 业务报警 邮件验证 密码找回 邮件相关协议 SMTP:Simple Mail Transfer Protocol,简单邮件传输协议(port:25)

9.3K40

Django相关知识点回顾

STATIC_URL --> 设置访问静态文件url地址前缀 django框架仅仅在DEBUG=True模式下提供静态文件 7.客户端服务器传递参数途径 7.1通过url地址传递参数 url...无论是字典、列表或者元组元素,都需要使用 .取值,下标或者键名,不能使用 [],这是和Flask有区别的地方。...删除 查询对象->对象.delete() 或者: 模型类.objects.filter(...).delete() 查询 模型类.objects.查询函数 查询相关函数: 函数名称 参数 作用 返回值...例:查询id大于3图书数量 BookInfo.objects.filter(id__gt=3).count() exists:判断查询集中是否有数据 两大特性 惰性查询: 只有在使用查询集中数据时才会进行数据库真正查询操作...团队开发注意事项 浅谈密码加密 Django框架中英文单词 Django中数据库相关操作 DRF框架中英文单词 重点内容回顾-DRF

10K51

Django】 开发:数据库操作和后台管理

步骤 查找查询结果集中满足条件全部 QuerySet 查询集合对象 调用查询集合对象 delete () 方法实现删除 示例: # 删除全部作者中,年龄大于65全部信息 auths = Author.objects.filter...,都要使用聚合查询 不带分组聚合 不带分组聚合查询是指导将全部数据进行集中统计查询 聚合函数【需要导入】: 导入方法: from django.db.models import * 聚合函数: Sum...list_filter 设置激活 Admin 修改列表页面右侧栏中过滤器 search_fields 设置启用 Admin 更改列表页面上搜索框。...list_editable 设置为模型上字段名称列表,这将允许在更改列表页面上进行编辑。...获取book对应作者中年龄大于80岁作者信息 通过 Author 查询对应所有的 Book【反向】 Django 会生成一个反向属性 book_set 用于表示对对应 book 查询对象相关操作

4K40

Django ORM 单表操作

目录 Django ORM单表操作 Django 测试环境搭建 ORM 创建表 ORM 添加数据 ORM 查询数据 all 查询 filter 查询 exclude 取反查询 get 查询 order_by...') ORM 查询数据 all 查询 all()方法查询所有数据,返回一个QuerySet对象,类似list,可以通过索引来获取列表对象,这里不支持负索引 from django.shortcuts...') values和values_list区别 values查询返回结果是列表套字典形式,字段名和数据都能够获取到 values_list查询返回结果是列表套元组形式,只返回数据 distinct...()(推荐) 返回值:元组,第一个元素为受影响行数。...行为,也就是删除一个对象时也会删除与它相关外键对象; delete() 方法是 QuerySet 数据类型方法,但并不适用于 Manager 本身。

1.3K20

第 9 篇:实现分类、标签、归档日期接口

视图集中所有以上提及以标准动作命名方法,都会被 django-rest-framework 路由自动注册为标准 API 接口。...action 装饰器通常用于在视图集中添加额外接口实现。例如这里我们已有了 PostViewSet 视图集,标准 list 实现了获取文章资源列表逻辑。...我们想添加一个获取文章归档日期列表接口,因此添加了一个 list_archive_dates 方法,并使用 action 进行装饰。...通常如果要在视图集中添加额外接口实现,可以使用如下模板代码: @action( methods=["allowed http method name"], detail=False...对于这样场景,我们可以在请求 API 时加上查询参数,django-rest-framework 解析查询参数,然后从全部文章列表中过滤出查询所指定文章列表再返回。

2.6K30

djangoRequest-7

请求体 4.1 Form表单 4.2 非表单类型 请求头 其他 利用HTTP协议服务器传参有以下几种方式 从url中截取 使用查询字符串 在请求体中发送数据 在http报文头 header 中发送数据...QueryDict 在django HttpRequest 对象中,属性 GET 和 POST 得到都是 django.http.QueryDict 所创建实例,这是django自定义一个类似字典类...如果key 具有多个值,以列表形式返回 key 所有值。当key 不存在时返回一个空列表,设置了默认值则返回默认值。 3. 查询字符串 在url中格式如 ?...a=1&b=2 字符串叫做查询字符串,可以用过 request.GET 获取, request.GET 返回值是 QueryDict 对象。 url /query?...', ] 4.1 Form表单 前端发送表单类型数据,可以使用 request.POST 获取, request.POST 返回值是 QueryDict 对象。

1.2K30

重点内容回顾-DRF

注意:校验通过之后,要调用 serializer.save()进行数据保存。 5.5视图类 5.5.1功能 1.使用序列化器(数据校验,数据保存,数据序列化)。 2.进行数据库相关查询。...数据库查询 属性: queryset(指定视图所使用查询集) 方法: get_queryset返回视图所使用查询集 get_object从视图所使用查询集中查询指定对象,默认根据pk进行查询。...5.6.4视图集中添加额外处理方法 1.直接在视图集定义额外处理方法即可 2.在进行url配置时候也要指定请求地址请求方式和处理函数之间对应关系。....将生成url配置项列表添加urlpatterns中 urlpatterns += router.urls 视图集额外处理方法url配置项生成 需要给对应方法添加action装饰器。...团队开发注意事项 浅谈密码加密 Django框架中英文单词 Django中数据库相关操作 DRF框架中英文单词

2.4K20

Django框架学习(四)

模型类.objects.查询函数 1.1查询相关参数 all没有参数 get可以写查询条件,查询满足条件一条且只能有一条数据 filter可以写查询条件,查询是满足条件数据 exclude可以写查询条件...:判断查询集中是否有数据。...两大特性: 1、惰性查询:只有在使用查询集中数据时才会进行数据库真正查询操作 2、查询结果缓存:如果使用同一个查询集时,只有在第一次使用查询集时会进行数据库查询操作,然后Django框架就会把查询结果存起来...特点:可以list列表一样进行操作,可以遍历,可以取下标,可以切片,但是切片时候下标不允许为负数。 注意和特点重点掌握,其他了解一下就可以了。...团队开发注意事项 浅谈密码加密 Django框架中英文单词 Django中数据库相关操作

1.5K41

Django 模型层之多表操作

2.对于外键字段,Django会在字段名上添加"_id"来创建数据库中列名 3.外键字段ForeignKey有一个null=True设置,你可以赋给它空值None 二.添加表记录 一对一: # 方式一...,列表内可以是对象,也可以是id book.authors.set() 三.基于对象跨表查询 一对一查询 正向查询(按字段:authordetail) # 查询作者姓名为Yven手机号 yven =...键名称是聚合值标识符,值是计算出来聚合值,键名称是按照字段和聚合函数名称自动生成出来,如果你想要为聚合值指定一个名称,可以聚合子句提供一个名字。...Django提供了以下聚合函数 1.expression 引用模型字段一个字符串,或者一个query expression 2.output_field 用来表示返回值model field...返回与expression相关对象个数,有一个可选参数distinct,如果distinct=True,那么Count将只计算唯一实例,默认值是False 6.Max 返回给定字段最大值

1.3K20

DRF框架学习(二)

(若没有Django环境,需要先创建环境安装Django) 3.1.1安装DRF pip install djangorestframework 3.1.2 添加rest_framework应用 我们利用在...Django框架学习中创建demo工程,在settings.pyINSTALLED_APPS中添加’rest_framework’。...ModelViewSet): queryset = BookInfo.objects.all() serializer_class = BookInfoSerializer queryset 指明该视图集在查询数据时使用查询集...django路由列表中 4.Serializer序列化器 作用:进行数据序列化和反序列化 序列化:把对象转换为字典 反序列化:数据校验;数据保存(可以利用这一点实现新增和更新); 4.1使用 定义一个序列化器类...raise serializers.ValidationError("图书不是关于Django") return value 然后在字段中添加validators选项参数,写一个列表,将定义校验函数名放进去

4.1K30

vue3,后台管理列表页面各组件之间状态关系 管理类功能:查询分页添加、修改删除

查询 各种查询条件那是必备,总不能没有查询功能吧,查询控件需要提供查询条件。 操作按钮组 里面可以有常见添加、修改、删除、查看按钮,也可以有自定义其他按钮。...列表 显示客户需要数据,看起来简单,但是要和查询、翻页、添加、修改、删除等功能配合。...表单(添加、修改) 数据提交之后,为了便于确认数据添加成功,是不是需要通知列表去更新数据呢?总不能填完数据,列表一点变化都没有吧。...*/ const regDataListState = () => { // 注册列表状态,用于分页、查询添加、修改、删除等 const state = reg.dataListState...监听: 监听页号变化,依据当前查询条件获取新记录,用于翻页,不用重新统计总数。 事件: 统计总数并且翻到第一页,用于查询条件变化,添加新记录。

1.9K20

Django ORM 多表操作(二)

目录 Django ORM 多表操作(二) 多对多操作常用API 分组查询 单表分组查询示例 多表分组查询练习 查询练习 ORM 事务 ORM 常见字段和参数 ORM常见字段 ORM 常见参数 choices...1纪录 # 绑定多对多关系,即关系表book_authors中添加纪录 book_obj.authors.add(hans,tom) # 将某些特定 model 对象添加到被关联对象集合中...对象,作者列表 ret=book.authors.all() # 6 queryset对象,又可以继续点(查询红楼梦这本书所有作者名字) ret=book.authors.all...分组查询一般会用到聚合函数,所以使用前要先从 django.db.models 引入 Avg,Max,Min,Count,Sum(首字母大写) from django.db.models import...和DateTimeField可以添加auto_now_add和auto_now参数,auto_now_add表示如果配置auto_now_add=True,创建数据记录时候会把当前时间添加到数据库,auto_now

1K20
领券