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

按Django admin中的字段值对列表项进行分组

在Django admin中,可以通过使用list_display属性来自定义显示的字段列表。如果想要按照某个字段的值对列表项进行分组,可以使用list_display属性的函数形式。

具体步骤如下:

  1. 在admin.py文件中找到对应的ModelAdmin类。
  2. 在该类中定义一个函数,用于获取要分组的字段的值。
  3. list_display属性中添加这个函数。
  4. 在函数中,可以通过obj参数获取当前行的对象,然后返回要分组的字段的值。
  5. Django会根据这个字段的值对列表项进行分组显示。

下面是一个示例:

代码语言:txt
复制
from django.contrib import admin
from .models import YourModel

class YourModelAdmin(admin.ModelAdmin):
    list_display = ('your_field', 'group_by_field')

    def group_by_field(self, obj):
        return obj.your_field  # 返回要分组的字段的值

admin.site.register(YourModel, YourModelAdmin)

在上面的示例中,YourModel是你的模型类,your_field是要显示的字段,group_by_field是用于分组的字段。你可以根据实际情况修改这些名称。

这样,Django admin会根据group_by_field函数返回的字段值对列表项进行分组显示。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Django Admin后台管理

runserver,在浏览器中输入http://127.0.0.1:8000/admin/ 输入之前创建的超级管理员账号密码后,进行登陆。...(StudentInfo) 显示效果如下 list_display中的项可以是模型字段,也可以是模型方法(该方法必须有返回值) 修改应用下models.py中的SchoolInfo类 # 学校模型类...的list_display添加get_name方法 list_display = ['id', 'name', 'addr', 'get_name'] 显示效果如下 注:属性列在后台管理页面中是可以进行排序的...右侧过滤器,会将对应字段的值列出来,用于快速过滤,通过list_filters属性设置。上方搜索框,用于对指定字段的值进行搜索,支持模糊查询,通过search_fields属性进行设置。...5.其他 富文本编辑器 后台管理员如果需要在后台编辑带样式的文字,如编辑对商品的详细信息描述,就需要使用富文本编辑器。这里以tinymce为例在Django Admin后台中如何使用富文本编辑器。

2.8K10
  • Django 做个小后台,细节在完善一点点【附源码】

    Django 后台完善 列表页展示内容修改 在上一篇博客实现了列表数据展示,但是只显示了一列,并且列标题为英文,本篇博客首先解决该问题。...= ["title","content","creatr_time"] list_display 属性值对应的列表项,都是 models.py 代码中的内容,要对应好,否则会出现下述类似错误: NameError...March 25, 2021 - 12:04:53 列表自定义列实现 除了 models.py 中定义的属性,可以在 list_display 进行调用,还可以自行创建列供其使用。...修改 admin.py 文件中的代码: @admin.register(Blog) class BlogAdmin(admin.ModelAdmin): # list_display 用于设置列表页展示哪些字段...属性的扩展; get_readonly_fields():对 readonly_fields 属性的扩展; get_search_fields():对 search_fields 属性的扩展; 上述属性和方法都会在后续的博客中进行学习

    41730

    Django3.2边学边记—Adimn站点管理

    控制显示的列,Django 会尝试按照这个顺序解释 list_display 的每个元素: 一个模型的字段。 一个可调用对象。 一个代表 ModelAdmin 属性的字符串。...def atitle(self):        return self.title 按以上方法显示的列是不能排序的,如果让这个方法显示的列也能排序,就给atitle方法的.admin_order_field...atitle.short_description='标题'   如果是更改模型字段显示的列标题,可以在定义模型字段时,设置verbose_name的值 ,或者封装成方法,再对方法使用上面那个属性,模型字段不能直接使用那个属性...应是一个元素的列表或元组,会将对应字段的值列出来,一般用于快速过滤有重复值的字段 12 class TestAdmin(admin.ModelAdmin):    list_filter = ['is_delete...我的理解就是分组整体匹配(Django3.2新增),例如,如果用户搜索 "john winston" 或 'john winston',Django 会做相当于这个 SQL 的 WHERE 子句: 1

    1.2K00

    Django3.2边学边记—Adimn站点管理

    控制显示的列,Django 会尝试按照这个顺序解释 list_display 的每个元素: 一个模型的字段。 一个可调用对象。 一个代表 ModelAdmin 属性的字符串。...def atitle(self):        return self.title 按以上方法显示的列是不能排序的,如果让这个方法显示的列也能排序,就给atitle方法的.admin_order_field...atitle.short_description='标题'   如果是更改模型字段显示的列标题,可以在定义模型字段时,设置verbose_name的值 ,或者封装成方法,再对方法使用上面那个属性,模型字段不能直接使用那个属性...是不能直接接收外键字段的),会将对应字段的值列出来,一般用于快速过滤有重复值的字段。...我的理解就是分组整体匹配(Django3.2新增),例如,如果用户搜索 "john winston" 或 'john winston',Django 会做相当于这个 SQL 的 WHERE 子句: 1

    1.3K30

    Admin站点

    在列表页中点击"增加"可以进入增加页,Django会根据模型类的不同,生成不同的表单控件,按提示填写表单内容后点击"保存",完成数据创建,创建成功后返回列表页。 ?...定义与使用Admin管理类 Django提供的Admin站点的展示效果可以通过自定义ModelAdmin类来进行控制。...点击列头可以进行升序或降序排列。 d. 将方法作为列 列可以是模型字段,还可以是模型方法,要求方法有返回值。...右侧栏过滤器 属性如下,只能接收字段,会将对应字段的值列出来,用于快速过滤。一般用于有重复值的字段。...list_filter = ['hbook', 'hgender'] 2)在浏览器中刷新效果如下图: ? g. 搜索框 属性如下,用于对指定字段的值进行搜索,支持模糊查询。

    2.2K20

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

    ,‘列’) 作用: 与 all () 方法不同,它会用 SQL 语句的 ORDER BY 子句对查询结果进行根据某个字段选择性的进行排序 说明: 默认是按照升序排序,降序排序则需要在列前增加’-' 表示...__gt=65) auths.delete() 聚合查询 聚合查询是指对一个数据表中的一个字段的数据进行部分或全部进行统计查询,查bookstore_book数据表中的全部书的平均价格,查询所有书的总个数等...作用: 通常是对数据库中的字段值在不获取的情况下进行操作 用于类属性 (字段) 之间的比较。...F F('列名') 说明: 一个 F () 对象代表了一个 model 的字段的值 F 对象通常是对数据库中的字段值在不加载到内存中的情况下直接在数据库服务器端进行操作 示例 1 更新 Book...方法进行注册,如: from django.contrib import admin admin.site.register(自定义模型类) 如:在 bookstore/admin.py 添加如下代码对

    4.1K40

    django orm(2)

    聚合函数 这里的聚合函数和SQL里的聚合函数对应,在使用前需要先进行模块的导入: from django.db.models import Max,Min,Sum,Count,Avg 常用的聚合函数有求最大值...按谁分组,models就是谁,annotaten内部传入筛选的条件。...银行转账就是利用了事务的这一特点。 Django中的事务 还未进行详细讲解 orm字段及参数 常用字段: 字段 描述 AutoField int自增列,必须填入参数 primary_key=True。...(Field) - 字符串类型,Django Admin以及ModelForm中提供对UUID格式的验证 FilePathField(Field) - 字符串,...MySQL字段对应关系 自定义char字段 自定义字段可以使用下面的方法,其实我们也只是更改一下字段的数据长度、字段的名字等,Django中的字段已经很丰富了。

    1.2K21

    python Django 管理站点1.3

    为此,Django会根据定义的模型类完全自动地生成管理模块 使用django的管理 创建一个管理员用户 python manage.py createsuperuser,按提示输入用户名、邮箱、密码 启动服务器...BookInfo的数据进行增删改查操作 问题:如果在str方法中返回中文,在修改和添加时会报ascii的错误 解决:在str()方法中,将字符串末尾添加“.encode('utf-8')” 自定义管理页面...Django提供了admin.ModelAdmin类 通过定义ModelAdmin的子类,来定义模型在Admin界面的显示方式 class QuestionAdmin(admin.ModelAdmin...): ... admin.site.register(Question, QuestionAdmin) 列表页属性 list_display:显示字段,可以点击列头进行排序 list_display...(admin.TabularInline) 布尔值的显示 发布性别的显示不是一个直观的结果,可以使用方法进行封装 def gender(self): if self.hgender:

    49720

    Django基础篇-admin系统

    管理站点 创建一个管理员用户 python manage.py createsuperuser 按提示输入用户名、邮箱、密码; 启动服务器,通过“127.0.0.1:8000/admin”访问,输入上面创建的用户名...、密码完成登录; 进入管理站点,默认可以对groups、users进行管理。...刷新管理页面,可以对数据表中数据进行增删改查操作 自定义管理页面 Django 提供了 admin.ModelAdmin 类 通过定义 ModelAdmin 的子类,来定义模型在 Admin 界面的显示方式...①列表页属性 list_display:显示字段,可以点击列头进行排序 list_filter:过滤字段,过滤框会出现在右侧 search_fields:搜索字段,搜索框会出现在上侧 list_per_page...:分页,分页框会出现在下侧 ②添加、修改页属性 fields:属性的先后顺序 fieldsets:属性分组 注意:上面两个属性,二者选一。

    58520

    django入门:数据模型

    ModelB 中特定的值,同样 ModelB 也只能对应 ModelA 中特定的值 Model 的常用设置参数 null=(True/False) 数据库中字段是否可以为空 blank=...(True/False) django的 Admin 中添加数据时是否可允许空值 primary_key=(True/False) 主键,对 AutoField 设置主键后,...max_length=(int) 最大长度,多和字符串类型配合使用 verbose_name='xxxx' Admin 中字段的显示名称 name|db_column...目录生成一个 0001_initial.py(0001会根据迁移的次数进行递增),用于记录对模型的修改 python manage.py migrate 运行后将 model 中的操作转换成为数据库语言...' c.save() 删除数据库数据 对存在数据库中的数据进行删除,可以通过如下操作进行 # 删除某条特定的数据 c = Category.objects.get(name='new test category

    83710

    Django ORM

    目录 Django ORM ORM实操之数据库迁移 ORM实操之字段的修改 ORM实操之数据的增删改查 数据库同步 ORM创建表关系 Django请求生命周期流程图 路由匹配 无名分组 有名分组 反向解析...无名分组和有名分组反向解析 Django ORM ORM:对象映射关系程序 通过orm将编程语言的对象模型和数据库的关系模型建立映射关系,这样我们在使用编程语言对数据库进行操作的时候可以直接使用编程语言的对象模型进行操作就可以了...: 一对多、多对多、一对一,没关系暂且排外,下面演示如何通过ORM来创建外键确立表关系~ ORM创建外键字段的位置: 一对多:创建在多的一方 一堆一:创建在任何一方都可以,但是推荐创建在查询频率较高的表中...,只有多对多关系表被单独创建出来 Django请求生命周期流程图 路由匹配 路由:通俗理解为除去ip和port之后的地址 在新版本Django2.x中,url的路由表示用path和re_path代替...,当作了视图函数的第二个位置参数''' 有名分组 在使用路由的时候,正则表达式可以起别名,别名当作关键字参数传给视图函数; 没有按关键字参数写报错 按别名,传参 '''urls.py

    4.1K10

    Django---ORM操作大全

    一对一:在某表中创建一行数据时,有一个单选的下拉框(下拉框中的内容被用过一次就消失了 例如:原有含10列数据的一张表保存相关信息,经过一段时间之后,10列无法满足需求,需要为原来的表再添加5列数据 1、...进行计算,返回一个聚合值的字典。...此时Django为我们提供了F和Q查询: 1、F 可以获取对象中的字段的属性(列),并对其进行操作; from django.db.models import F,Q #F 可以获取对象中的字段的属性...(列),并且对其进行操作; models.Book.objects.all().update(price=F('price')+1) #对图书馆里的每一本书的价格 上调1块钱 2、Q多条件组合查询...import F,Q 1、F 可以获取对象中的字段的属性(列),并且对其进行操作; # models.Book.objects.all().update(price=F('price'

    6.9K100

    Django教程 —— 站点后台管理

    3、注册模型类 登录后台管理后,默认没有我们创建的应用中定义的模型类,需要在自己应用中的 admin.py 文件中注册,才可以在后台管理中看到,并进行增删改查操作。...Django后台管理对数据库表操作 上篇讲到在项目的 shell 终端对数据库表的操作,现在我们来看看Django后台对数据库表的操作 查询 点击"Book Infos"可以进入列表页,默认只有一列。...在列表页中点击某行的第一列可以进入修改页。 删除 按照提示进行内容的修改,修改成功后进入列表页。在修改页点击“删除”可以删除一项。...', 'pub_date'] 注意:list_display 列表中的元素必须是模型类中的属性、也可以说成模型类对应数据库表中的字段。...的列表页的列变成中文,是因为在 BookInfo 模型类中属性值给了 verbose_name 参数,如果没有给定则显示类属性名。

    2.1K10

    Django教程 —— 站点后台管理

    3、注册模型类 登录后台管理后,默认没有我们创建的应用中定义的模型类,需要在自己应用中的 admin.py 文件中注册,才可以在后台管理中看到,并进行增删改查操作。...Django后台管理对数据库表操作 上篇讲到在项目的 shell 终端对数据库表的操作,现在我们来看看Django后台对数据库表的操作 查询 点击 Book Infos 可以进入列表页,默认只有一列...在列表页中点击某行的第一列可以进入修改页。 删除 按照提示进行内容的修改,修改成功后进入列表页。在修改页点击 删除 可以删除一项。 多添加几本图书在列表页勾选想要删除的复选框,可以删除多项。...', 'pub_date'] 注意:list_display 列表中的元素必须是模型类中的属性、也可以说成模型类对应数据库表中的字段。...的列表页的列变成中文,是因为在 BookInfo 模型类中属性值给了 verbose_name 参数,如果没有给定则显示类属性名。

    1.6K20

    Python进阶29-ORM介绍

    添加表记录 基于对象的连表查询 一对一查询 一对多查询 多对多查询 连续跨表 打印Django查询数据的SQL语句 基于双下划线查询 聚合查询 分组查询 F查询...当我们需要对数据库进行操作时,势必需要通过连接数据、调用sql语句、执行sql语句等操作,ORM将数据库中的表,字段,行与我们面向对象编程的类及其方法,属性等一一对应,即将该部分操作封装起来,程序猿不需懂得...annotate()为调用的QuerySet中每一个对象都生成一个独立的统计值(统计方法用聚合函数)。 总结 :跨表分组查询本质就是将关联表join成一张表,再按单表的思路进行分组查询。 ...如果我们要对两个字段的值做比较,那该怎么做呢? Django 提供 F() 来做这样的比较。F() 的实例可以在查询中引用字段,来比较同一个 model 实例中两个不同字段的值。...Admin中是否允许用户输入为空 editable Admin中是否可以编辑 help_text Admin中该字段的提示信息 choices

    4.5K10

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

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

    1.7K20

    Django中ORM介绍和字段及其参数

    本示例中的CREATE TABLE SQL使用PostgreSQL语法进行格式化,但值得注意的是,Django会根据配置文件中指定的数据库后端类型来生成相应的SQL语句。...关系字段 ForeignKey   外键类型在ORM中用来表示外键关联关系,一般把ForeignKey字段设置在 '一对多'中'多'的一方。   ...through: 在使用ManyToManyField字段时,Django将自动生成一张表来管理多对多的关联关系。...默认值为True,这个选项为True时Django可以对数据库表进行 migrate或migrations、删除等操作。...表示随机 ordering = ['-pub_date', 'author'] # 对 pub_date 降序,然后对 author 升序 需要注意的是:不论你使用了多少个字段排序, admin 只使用第一个字段

    2.8K80
    领券