首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Django ORM那些相关操作

filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 get(**kwargs): 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误...此时可以使用distinct(),注意只有在PostgreSQL中支持按字段去重。)...键的名称是聚合值的标识符,值是计算出来的聚合值。键的名称是按照字段和聚合函数的名称自动生成出来的。...如果我们要对两个字段的值做比较,那该怎么做呢?   Django 提供 F() 来做这样的比较。F() 的实例可以在查询中引用字段,来比较同一个 model 实例中两个不同字段的值。...models.Book.objects.filter(commnet_num__lt=F('keep_num')*2) 修改操作也可以使用F函数,比如将每一本书的价格提高30元 models.Book.objects.all

2.3K60

python 终级篇 django --

get(**kwargs): 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,                 如果符合筛选条件的对象超过一个或者没有都会抛出错误。...键的名称是聚合值的标识符,值是计算出来的聚合值。键的名称是按照字段和聚合函数的名称自动生成出来的。...如果我们要对两个字段的值做比较,那该怎么做呢? Django 提供 F() 来做这样的比较。F() 的实例可以在查询中引用字段,来比较同一个 model 实例中两个不同字段的值。...2. select_related使用SQL的JOIN语句进行优化,通过减少SQL查询的次数来进行优化、提高性能。...对于多对多字段(ManyToManyField)和一对多字段,可以使用prefetch_related()来进行优化。

2.8K20

Django admin管理工具的使用、定制及源码解析

list_display_links = ('id', 'caption') 2筛选筛选器是Django后台管理重要的功能之一,而且Django为我们提供了一些实用的筛选器。...一般ManyToManyField多对多字段用过滤器;标题等文本字段用搜索框;日期时间用分层筛选。 过滤器如果是外键需要遵循这样的语法:本表字段__外键表要显示字段。...8.修改app的显示名称 Dajngo在Admin后台默认显示的应用的名称为创建app时的名称。...我们如何修改这个app的名称达到定制的要求呢,其实Django已经在文档里进行了说明。 从Django1.7以后不再使用app_label,修改app相关需要使用AppConfig。...9.自定义列表字段 在DataPaperStore模型中有 end_date 字段,如果当前时间大于end_date 是我们想显示一个“已过期”,admin列表显示不能直接用该字段,也显示不出来。

4K40

使用 Django 的 admin 定制后台,丰富自己网站的后台管理系统

其实上面的过程可以把第2、3步结合起来,在创建模型的管理类的同时注册类,这就需要使用 admin 的装饰器,上面的例子改用装饰器之后的代码如下: from django.contrib import...list_filter 属性是过滤器,可以用来筛选,设置了这个之后可以在后台的侧边栏看到可以用来筛选字段的列表,效果如图所示: filter_horizontal 这个属性非常有用,它可以给模型中的多选字段添加左右选框...'show_content') # 设置需要添加a标签的字段 list_display_links = ('id', 'show_content') # 使用方法来自定义一个字段,并且给这个字段设置一个名称...定义了这个函数之后,可以使用 .short_description 来给这个自定义的字段添加一个字段名称,然后就可以把这个函数当做一个字段添加到 list_display 中展示到后台了,展示的效果如图...使用 bootstrap_admin Django 默认的后台管理界面并不好看,为了让后台显示更加美观,可以引用一个后台的插件,这个插件就是 bootstrap-admin,它可以把后台的显示变成 bootstrap

2.8K10

从0开始做系统

,默认会生成一个名称为 id 的列,如果要显示的自定义一个自增列,必须将给列设置为主键 primary_key=True。...2、CharField ---字符串字段 单行输入,用于较短的字符串,如要保存大量文本, 使用 TextField。...如:要保存最大值为 999 (小数点后保存2位),你要这样定义字段:FloatField(…,max_digits=5, decimal_places=2),要保存最大值一百万(小数点后保存10位)的话...字段变成以Input框形式 fields,详细页面时,显示字段字段 exclude,详细页面时,排除的字段 readonly_fields,详细页面时,只读字段 fieldsets,详细页面时,使用fieldsets...标签对数据进行分割显示 详细页面时,M2M显示时,数据移动选择(方向:上下和左右) ordering,列表时,数据排序规则 radio_fields,详细页面时,使用radio显示选项(FK默认使用select

1.4K30

【愚公系列】2022年04月 Python教学课程 74-DRF框架之过滤

文章目录 一、普通过滤 1.针对当前用户进行筛选 2.针对网址进行筛选 3.针对查询参数进行筛选 二、通用过滤 1.全局设置 2.视图设置 3.简单过滤 4.搜索器过滤 4.1 多字段查找 4.2 多字段查找...通用筛选器还可以在可浏览 API 和管理 API 中显示为 HTML 控件。...'] } 2.视图设置 from django_filters.rest_framework import DjangoFilterBackend class UserListView(generics.ListAPIView...该属性应是模型上文本类型字段名称列表,例如 from rest_framework import filters class UserListView(generics.ListAPIView):...search=russell 4.2 多字段查找 还可以使用查找 API 双下划线表示法对 ForeignKey 或 ManyToManyField 执行相关查找: search_fields = ['

2.5K30

django2实战2.创建博客应用创建应用文章表的字段设计激活应用开启后台将post模型注册到后台自定义文章显示字段增加可选操作

继上篇 django2实战1.初识django 创建应用 上篇创建了一个项目,项目相当于站点,应用即是独立的功能模块。比如:淘宝是一个完整的网站,即是一个项目。...: 文章更新时间,当文章被更新时,会自动生成更新的时间 status: 文章状态,从STATUS_CHOICES中选取状态值 关于字段类型的更多使用,参见官方文档 激活应用 根据models.py字义的字段执行数据迁移...add post 自定义文章显示字段 mysite/blog/admin.py from django.contrib import admin from .models import Post @admin.register...post显示字段 增加可选操作 mysite/blog/admin.py from django.contrib import admin from .models import Post @admin.register...过滤 下一节将讲解如何使用django的模型查询语句。如果你感兴趣,请关注我的django2实战文集 如果觉得本文对你有所帮助,点个赞,或者赏杯咖啡钱,你的认可对我很重要

1K30

05.Django基础五之django模型层(一)单表操作

2) 在你的 model 中添加 FileField 或 ImageField, 并确保定义了 upload_to 选项,以告诉 Django 使用...#它们通常用于URLs 若你使用 Django 开发版本,你可以指定 maxlength. 若 maxlength 未指定, Django使用默认长度: 50....和is_active两个字段表建好后也会有一个默认的自增id字段 - 创建时间,用来标识这条记录的创建时间,具有auto_now_add属性,创建记录时会自动填充当前时间到此字段 - 修改时间,...注意2:确保配置文件中的INSTALLED_APPS中写入我们创建的app名称 INSTALLED_APPS = [ 'django.contrib.admin', #这是django给你提供的一些特殊功能的配置...2 查询操作练习 1 查询某某出版社出版过的价格大于200的书籍 2 查询2017年8月出版的所有以py开头的书籍名称 3 查询价格为50,100或者150的所有书籍名称及其出版社名称 4

2.9K10

使用echarts做一个可视化报表(一)

为了更直观的观察这个平台的使用情况,利用echarts做了一个可视化的报表,最终效果如下 本篇来介绍下报表从构思到实现的过程 我的需求: 1、本次打算做2张表,一个以周为维度,统计每天在平台上构造数据的次数...(前者使用折线图、后者使用饼图); 2、以系统为维度,统计每个系统构造数据的次数; 根据需求,拆解下我要做的事情: 1、在数据库里创建一张表,记录创建数据过程; 2、添加后端逻辑,每构造一条数据(前端每发起一次创建数据的请求...可用参数取决于您的数据库后端 'NAME': 'data_factory', # 要使用的数据库的名称(先到mysql数据库创建一个库) 'USER': 'root',...修改django视图文件,向数据库插入数据 因为我打算每创建成功一条数据,就向数据库里插入一条数据,这条数据需要包含:数据类型名称、数据类型id、开始创建时间、创建成功时间 所以我需要定义上述字段的值,...下一篇讲一下如何给折线图添加一个按照时间筛选的功能:筛选不同的周,显示对应的图

2K20

Django管理应用程序的高级配置在BookInstance模型的运用【Django

Django管理应用程序 Django管理应用程序可以使用的模型自动构建可用于创建、查看、更新和删除记录的站点区域。这可以在开发过程中节省大量时间,使测试模型和查看是否有正确的数据变得容易。...用于编辑和添加记录的模型详细记录表单包含模型的所有字段,这些字段按其声明顺序垂直排列。 可以进一步自定义界面,使其更易于使用。...向列表视图中的操作菜单添加其他选项,并选择此菜单在表单上的显示位置。 详细信息视图 选择要显示(或排除)的字段、它们的顺序、分组、可编辑、要使用的小部件、方向等。...,表上只能显示这些字段。...默认情况下,这些字段是垂直显示的,如果进一步将它们分组为元组(如上面的日期字段所示),则它们将水平显示

1.7K20

django 1.8 官方文档翻译: 2-2-1 执行查询

字段筛选条件 字段筛选条件就是 SQL 语句中的 WHERE 从句。就是 Django 中的 QuerySet 的 filter(), exclude() 和 get() 方法中的关键字参数。...要做跨关系查询,就使用两个下划线来链接模型(model)间关联字段名称,直到最终链接到你想要的 model 为止。...针对这两种情况,Django 用一种很方便的方式来使用 filter() 和 exclude()。对于包含在同一个 filter() 中的筛选条件,查询集要同时满足所有筛选条件。...一对多关系 正向 如果一个 model 有一个 ForeignKey字段,我们只要通过使用关联 model 的名称就可以得到相关联的外键对象。...唯一的差虽就在于属性的命名: ManyToManyField 所在的 model (为了方便,我称之为源model A) 使用字段本身的名称来访问关联对象;而被关联的另一方则使用 A 的小写名称加上 ‘

4.3K20
领券