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

Django 2.1.7 查询集 QuerySet

上一篇Django 2.1.7 模型 - 条件查询 F对象 Q对象 聚合查询讲述了关于Django模型的介绍F对象、Q对象、聚合查询等功能。...其中查询集具有缓存、返回多个值、返回单个值、对查询集切片处理等功能。...缓存:使用同一个查询集,第一次使用时会发生数据库的查询,然后把结果缓存下来,再次使用这个查询集时会使用缓存的数据。 查询集的缓存 每个查询集都包含一个缓存来最小化对数据库的访问。...在新建的查询集中,缓存为空,首次对查询集求值时,会发生数据库查询,django会将查询的结果存在查询集的缓存中,并返回请求的结果,接下来对查询集求值将重用缓存中的结果。...对查询集进行切片后返回一个新的查询集,不会立即执行查询。

1.2K10

Django 2.1.7 查询集 QuerySet

上一篇Django 2.1.7 模型 - 条件查询 F对象 Q对象 聚合查询讲述了关于Django模型的介绍F对象、Q对象、聚合查询等功能。...其中查询集具有缓存、返回多个值、返回单个值、对查询集切片处理等功能。...缓存:使用同一个查询集,第一次使用时会发生数据库的查询,然后把结果缓存下来,再次使用这个查询集时会使用缓存的数据。 查询集的缓存 每个查询集都包含一个缓存来最小化对数据库的访问。...在新建的查询集中,缓存为空,首次对查询集求值时,会发生数据库查询,django会将查询的结果存在查询集的缓存中,并返回请求的结果,接下来对查询集求值将重用缓存中的结果。...” 对查询集进行切片后返回一个新的查询集,不会立即执行查询。

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

    37.Django1.11.6文档

    当你最初获取数据时不知道是否需要这些特定字段的情况下,如果你正在使用查询集的结果,你可以告诉Django不要从数据库中检索它们。...form.instance.name = name 使用自定义查询集 如前所述,您可以覆盖模型formset使用的默认查询集: from django.forms import modelformset_factory...表单集还可以索引,它将返回对应的表单。 如果覆盖__iter__,你还需要覆盖__getitem__ 以获得一致的行为。 使用formset 的初始数据 初始数据体现着表单集的主要功能。 ...使用上面的示例,这会看起来像︰ colored_first_name.admin_order_field = '-first_name' admin_order_field支持查询查询,以按相关模型的值进行排序...它接受请求,应用当前过滤器的查询集以及用户提供的搜索项。 它返回一个包含被修改以实现搜索的查询集的元组,以及一个指示结果是否可能包含重复项的布尔值。

    24.4K80

    python测试开发django-169.过滤器django-filter 入门使用

    前言 在管理后台查询的时候,经常有需要查询包含某个内容,按时间段查询,或者商品价格大于多少,小于多少各种查询条件。 django-filter 过滤器专门解决这种查询的问题。...python:3.5、3.6、3.7、3.8 django:2.2、3.0、3.1 DRF : 3.10+ 简单入门 Django-filter 提供了一种基于用户提供的参数过滤查询集的简单方法。..."aa", "release_date": "2021-11-08", "manufacturer": 1 }] } .qs过滤 要按request对象过滤主查询集...在上面的示例中,发布日期的确切过滤器是`release_date`,而不是`release_date__exact`。这可以被 FILTERS_DEFAULT_LOOKUP_EXPR 设置覆盖。...: class Meta: model = Product fields = ['manufacturer__country'] 覆盖默认过滤器 像django.contrib.admin.ModelAdmin

    2.3K20

    Django框架学习(四)

    import BookInfo,HeroInfo if __name__ == '__main__': # 条件查询 我们如果是想在文件中直接运行,进行数据库的查询操作,可以按上面的步骤进行设置...两大特性: 1、惰性查询:只有在使用查询集中的数据时才会进行数据库真正查询操作 2、查询结果的缓存:如果使用同一个查询集时,只有在第一次使用查询集时会进行数据库的查询操作,然后Django框架就会把查询的结果存起来...,下一次再使用这个查询集的时候,使用的是Django之前存储的结果。...3.admin站点 Django框架提供了一个admin站点,可以让用户来管理网站的数据表的内容。...,是因为我们删除过数据库里面的表格,我们需要执行以下下面的操作: # 先进入我们的数据库,然后选择这个表 select * from django_migrations; # 将我们的迁移过的文件加到这张表里

    1.5K41

    Django Admin后台管理:高效开发与实践

    自定义Admin模板:可以通过创建自定义的模板来改变Admin界面的外观, AD:首页 | 一个覆盖广泛主题工具的高效在线平台例如修改admin/base_site.html。...2.3 字段和字段集的管理 字段管理:可以在Admin类中使用fields或fieldsets属性来控制编辑页面中字段的显示。...4.2 使用QuerySet进行数据查询 QuerySet API:Django的QuerySet API提供了丰富的查询方法,如过滤、排序、聚合等。...第5章:高级定制与扩展 5.1 自定义Admin模板 自定义Admin模板:Django Admin允许你自定义Admin界面的外观和行为,包括修改模型的列表、表单和详细页面的外观。...自定义Admin样式:可以通过覆盖Admin模板或使用自定义CSS来调整Admin界面的样式。

    26010

    Django3.0新鲜出炉!全面解读新特性,ASGI真香实锤,不来了解一下?

    最有深度的研究笔记由程序员界最会排版的追星族运营 文章信息 作者: Lateautumn4lin 来源:云爬虫技术研究笔记 AKA 逆向小学生 ?...写这篇文章完全是机缘巧合,想想已经好长时间没有关注过Django了,虽然Django一直霸占着Python Web开发界的王座,但是由于各种原因自从使用Asyncio以来一直使用Aiohttp这个框架。...,而且MariaDB相比MySQL来说会有更多的存储引擎类型和稍微快一点的查询效率,所以对于基于MySQL作为存储引擎的后端开发,可以尝试切换成MariaDB。...django.contrib.admin¶ 增加了对admin_order_field属性属性,支持ModelAdmin.list_display。...表格 表单集可以通过can_order设置ordering_widget属性或覆盖来控制在订购表单时使用的小部件。

    2.7K10

    Django内置的通用类视图及实例

    执行这个视图的时候,self.object_list将包含视图正在操作的对象列表(通常是一个查询集,但不是必须)....指定一个经过过滤的对象列表,将取代model提供的值 context_object_name: 指定要在上下文中使用的变量的名称 方法: get_queryset():获取此视图的对象列表.必须是可迭代或者可以使查询集...属性: model: 视图要显示的模型 queryset: 表示对象的一个查询集.queryset的值优先于model的值. template_name: 字符串表示的模板名称. context_object_name...return self.name class Meta: ordering = ["-id"] 3、配置 INSTALLED_APPS = [ 'django.contrib.admin...import url, include from django.contrib import admin urlpatterns = [ url(r'^admin/', admin.site.urls

    2.9K40

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

    = Author.objects.get(id=1) auth.delete() except: print(删除失败) 删除查询结果集 步骤 查找查询结果集中满足条件的全部 QuerySet...,从而得出总计值 (也可以是平均值或总和),即为查询集的每一项生成聚合。.../ 注册自定义模型类 若要自己定义的模型类也能在 后台管理界中显示和管理,需要将自己的类注册到后台管理界面 添加自己定义模型类的后台管理数据表的,需要用 方法进行注册 配置步骤如下: 1.在应用...from django.contrib import admin admin.site.register(自定义模型类) 如:在 bookstore/admin.py 添加如下代码对 Book 类进行管理...示例: # file: bookstore/admin.py from django.contrib import admin # Register your models here.

    4.1K40

    Django 2.0 新特性 转

    2.admin后台对移动端更加友好 Django最受大家欢迎的admin后台,具有响应式特性,支持主流的移动设备。 3.Window 表达式 新的Window表达式允许为查询集添加一个OVER从句。...django.contrib.gis地理框架 为AsGeoJSON、GeoHash和GeoHash方法,isvalid和distance查询增加MySQL支持; 添加Azimuth和LineLocatePoint...CursorWrapper.callproc()现在接收可选的字典类型关键字参数; QuerySet.values_list()新增named参数,用于获取命名的元组结果; 新的FilteredRelation类允许为查询集增加一个...那么可以如下使用UserAdmin.form: from django.contrib.auth.admin import UserAdmin from django.contrib.auth.models...QuerySet.reverse()和last()不能用于切片后的查询集 对切片后的查询集使用反转和获取最近对象的操作将弹出异常,如下所示: >>> Model.objects.all()[:2].reverse

    2.6K20

    Django内置的通用类视图CBV及示例

    执行这个视图的时候,self.object_list将包含视图正在操作的对象列表(通常是一个查询集,但不是必须)....指定一个经过过滤的对象列表,将取代model提供的值 context_object_name: 指定要在上下文中使用的变量的名称 方法: get_queryset():获取此视图的对象列表.必须是可迭代或者可以使查询集...属性: model: 视图要显示的模型 queryset: 表示对象的一个查询集.queryset的值优先于model的值. template_name: 字符串表示的模板名称. context_object_name...): return self.name class Meta: ordering = ["-id"] 3、配置 INSTALLED_APPS = [ 'django.contrib.admin...import url, include from django.contrib import admin urlpatterns = [ url(r'^admin/', admin.site.urls

    3.2K10

    django 源码改写笔记

    一、admin 的 save_model 改写 我们后台项目有用到 django的 admin 后台模块,有些配置的功能完全可以通过 django 就可以实现,不用前端再开发管理页面了,但是有些操作需要自定义的...的源码 save_mode 方法了,代码如下: from django.contrib import admin # Register your models here. from index.models...(QrCode, QrCodeAdmin) # 将模型注册到 admin 下图中点击保存时,admin 会调用上面的 save_model法,代码中添加了注释。...二、自定义 model 模型的查询集。 例如,我们原先有个模型 Customer ,之前所有关于 Customer 的查询用的都是 Customer.objects.all() 。...# 改变查询的结果集 def get_queryset(self): return super(CustomerManager, self).get_queryset().filter

    52020

    手把手教你用Django执行原生SQL

    我们都知道,Python在web界的扛把子——Django,可谓是集大成为统一,各种各样的插件、forms组件、model模型、Admin后台等等,后面我会专门出文章娓娓道来,反正就是一个字,NB。...起因 在使用Django时,一般情况下,我们使用Django自带的model查询是没有问题的,基本能满足80%的问题 但是,但是,那20%就不要了吗???...出版社", max_length=32) publisher_date = models.DateField(verbose_name="publisher") 就是一个很简单的图书表 通过admin...那查询带条件的怎么办哪,其实和pymysql一个样 ? 返回结果 ? 但是有个问题,上面的查询,我们明明知道,让只会返回一个值,但是还是返回的是列表套字典格式,似乎不太对呐?...最灵活,但是默认返回的是[tuple,tuple,tuple,]格式 经过改良,封装出两个方法,query_all_dict,query_one_dict,一个是查询多个,一个是查询单个,并且返回成[dict

    1.1K10

    django 1.8 官方文档翻译:7-2 管理操作

    需要接收三个参数: 当前的 ModelAdmin 表示当前请求的HttpRequest 含有用户所选的对象集合的QuerySet 我们用于发布这些文章的函数并不需要ModelAdmin或者请求对象,但是我们会用到查询集...: def make_published(modeladmin, request, queryset): queryset.update(status='p') 注意 为了性能最优,我们使用查询集的...其它类型的操作可能需要分别处理每个对象;这种情况下我们需要对查询集进行遍历: for obj in queryset: do_something_with(obj) 编写操作的全部内容实际上就这么多了...例如,你可以使用这个方法来移除内建的“删除选中的对象”操作: admin.site.disable_action('delete_selected') 一旦你执行了上面的代码,这个操作不再对整个站点中可用...例如,如果我只希望名称以’J’开头的用户可以批量删除对象,我可以执行下面的代码: class MyModelAdmin(admin.ModelAdmin): ...

    72820
    领券