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

Django admin:格式化列表中的字段,但保持可排序?

在Django Admin中,可以通过自定义列表过滤器来格式化列表中的字段,同时保持可排序。以下是一个示例:

  1. 首先,在admin.py文件中,为您的模型创建一个自定义的ModelAdmin类:
代码语言:python
代码运行次数:0
复制
from django.contrib import admin
from .models import MyModel

class MyModelAdmin(admin.ModelAdmin):
    list_display = ('custom_formatted_field',)

    def custom_formatted_field(self, obj):
        return obj.field.strftime('%Y-%m-%d')

    custom_formatted_field.admin_order_field = 'field'

admin.site.register(MyModel, MyModelAdmin)

在这个示例中,我们创建了一个名为MyModelAdmin的自定义ModelAdmin类,并将custom_formatted_field添加到list_display中。custom_formatted_field方法将原始字段格式化为自定义格式,并通过admin_order_field属性保持可排序。

  1. 保存更改并刷新Django Admin界面,您应该看到格式化的字段,并且可以按照原始字段的值对其进行排序。

注意:在这个示例中,我们使用了Python的strftime方法来格式化日期字段。您可以根据您的需求使用其他格式化方法。

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

相关·内容

  • DjangoORM介绍和字段及其参数

    本示例CREATE TABLE SQL使用PostgreSQL语法进行格式化值得注意是,Django会根据配置文件中指定数据库后端类型来生成相应SQL语句。...Django支持MySQL5.5及更高版本。  DjangoORM常用字段和参数 常用字段 AutoField:int自增型,必须填入参数 primary_key = True 。...Model 元数据就是 "不是一个字段任何数据" -- 比如排序选项, admin 选项等等. 下面是所有可能用到 Meta 选项. 没有一个选项是必需....ordering 这个字段是告诉Django模型对象返回记录结果集是按照哪个字段排序。...表示随机 ordering = ['-pub_date', 'author'] # 对 pub_date 降序,然后对 author 升序 需要注意是:不论你使用了多少个字段排序, admin 只使用第一个字段

    2.8K80

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

    类可以控制不同模型在Admin界面展示方式,主要包括在列表展示方式、添加修改页展示方式 上文中展示了TestAdmin类一种注册方法,还有一种方法,就是使用装饰器注册,如下: 123 @admin.register...def atitle(self):        return self.title 按以上方法显示列是不能排序,如果让这个方法显示列也能排序,就给atitle方法.admin_order_field...属性,指定排序依据模型属性,如下: 1234567 # from django.db import models# from django.contrib import adminclass TestInfo...None,一个空字符串,或者一个没有元素迭代字段Django 将显示 - (破折号)。   ...过滤器 用 list_filter 来激活管理更改列表页面右侧侧栏过滤器,如下截图所示: list_filter 应是一个列表或元组,参数字段可以是模型字段,包括外键字段(注意list_display

    1.3K30

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

    类可以控制不同模型在Admin界面展示方式,主要包括在列表展示方式、添加修改页展示方式 上文中展示了TestAdmin类一种注册方法,还有一种方法,就是使用装饰器注册,如下: 123 @admin.register...def atitle(self):        return self.title 按以上方法显示列是不能排序,如果让这个方法显示列也能排序,就给atitle方法.admin_order_field...属性,指定排序依据模型属性,如下: 12345 # from django.db import models# from django.contrib import adminclass...None,一个空字符串,或者一个没有元素迭代字段Django 将显示 - (破折号)。   ...应是一个元素列表或元组,会将对应字段值列出来,一般用于快速过滤有重复值字段 12 class TestAdmin(admin.ModelAdmin):    list_filter = ['is_delete

    1.2K00

    django 1.8 官方文档翻译: 1-2-2 编写你第一个Django应用,第2部分

    这样的话你就需要在注册对象 时告诉 Django 对应配置。 让我们来看看如何在编辑表单上给字段重新排序。...上面那特定更改使得 “Publication date” 字段在 “Question” 字段之前: 仅有两个字段不会令你印象深刻,但是对于有许多字段管理表单时,选择一个直观 排序方式是一个重要实用细节...list_display = ('question', 'pub_date', 'was_published_recently') 现在 poll 变更列表页看起来像这样: 你可以点击列标题对这些值进行排序...当有人输入了搜索条件, Django 将搜索 question 字段。 虽然你可以使用任意数量字段,如你希望那样 – 但是因为它在后台用 LIKE 查询,为了保持数据库性能请合理使用。...请注意 Django 默认管理网站任何模板都是覆盖。 要覆盖一个模板,只需要像刚才处理 base_site.html 一样 – 从默认目录下复制到你自定义目录下,并修改它。

    2.5K40

    django框架菜鸟教程_django框架菜鸟教程

    每个子应用为了保持相对独立,可以在各个子应用定义属于自己urls.py来保存该应用路由。然后用主路由文件包含各应用子路由数据。...路由解析顺序 Django在接收到一个请求时,从主路由文件urlpatterns列表以由上至下顺序查找对应路由规则,如果发现规则为include包含,则再进入被包含urlsurlpatterns...date,日期,用于对日期类型值进行字符串格式化,常用格式化字符如下: Y表示年,格式为4位,y表示两位年。 m表示月,格式为01,02,12等。 d表示日, 格式为01,02等。...changepassword 用户名 3、App应用配置 在settings.pyINSTALLED_APPS列表添加此类 4、注册模型类 # 在booktest/admin.py 文件编写代码...list_display = ['id','btitle','pub_date'] # 说明: 方法列是不能排序,需要排序admin_order_field = 模型类字段 关联对象

    3K40

    Django开发在线教育平台--学习整理(一)

    点击公开课–> 课程列表排序-搜索。热门课程推荐,课程分页。 点击课程–> 课程详情页对课程进行收藏,取消收藏。富文本展示课程内容。 点击开始学习–> 课程章节信息,课程评论信息。...课程资源下载链接。 点击授课讲师–>授课讲师列表页,对讲师进行人气排序以及分页,右边有讲师排行榜。 点击讲师详情页面–> 对讲师进行收藏和分享,以及讲师全部课程。...左侧每一个功能都有列表显示, 增删改查,筛选功能。 课程列表页可以对不同字段进行排序。选择多条记录进行删除操作。 课程列表页:过滤器->选择字段范围等,搜索,导出csv,xml,json。...当django在根目录下找不到app时会去apps中去寻找,此时pycharm知道这么做,而django不知道,所以还要到settings配置。...用于table某个字段时,在admin后台会显示verbose_name,用于Meta时,显示是当前数据表名称。

    2.9K90

    Django Swagger接口文档生成

    传统接口文档使用Word编写,or一些接口文档管理平台进行编写,此类接口文档维护更新比较麻烦,每次接口有变更,需要手动修改接口文档。...如:接口测试站点(http://httpbin.org/#/),也是利用Swagger来生成接口文档 Swagger优势 1)Swagger生成一个具有互动性API控制台,开发者快速学习和尝试API...2)Swagger生成客户端SDK代码,用于不同平台上(Java、Python...)实现 3)Swagger文件可在许多不同平台上从代码注释自动生成 4)Swagger有一个强大社区,里面有许多强悍贡献者...,将之前定义UserViewSet和GroupViewset补充注释 4.在urls.py添加get_schema_view辅助函数 5.启动Django服务,检测Swagger接口文档配置效果 环境说明...    'APIS_SORTER': 'alpha',     # 如果支持json提交, 则接口文档包含json输入框     'JSON_EDITOR': True,     # 方法列表字母排序

    4.2K40

    Django Admin后台管理

    # 操作选项在底部是否显示 actions_on_bottom = True # 自定义列表页显示列表项 list_display = ['id', 'name',...(StudentInfo) 显示效果如下 list_display项可以是模型字段,也可以是模型方法(该方法必须有返回值) 修改应用下models.pySchoolInfo类 # 学校模型类...list_display添加get_name方法 list_display = ['id', 'name', 'addr', 'get_name'] 显示效果如下 注:属性列在后台管理页面是可以进行排序...,而方法列是不能排序,如果需要排序需要设置admin_order_field属性来为方法指定排序依据。...url(r'^tinymce/', include('tinymce.urls')), # 富文本编辑器 随后就可在模型类中使用该字段,在应用models.py添加如下内容 from django.db

    2.8K10

    Django教程 —— 站点后台管理

    3、注册模型类 登录后台管理后,默认没有我们创建应用定义模型类,需要在自己应用 admin.py 文件中注册,才可以在后台管理中看到,并进行增删改查操作。...Django提供了自定义管理页面的功能。 比如列表页要显示哪些值。 打开 admin.py 文件,自定义类,继承自 admin.ModelAdmin 类。...', 'pub_date'] 注意:list_display 列表元素必须是模型类属性、也可以说成模型类对应数据库表字段。...发现没有左边还是英文。 我们只要在模型类添加一个 Meta 类设置相应属性即可。...ordering = ['id'] 设置了id排序字段,表会按照id升序排序,如需降序,则改成 ordering = ['-id'] 即可。

    1.6K20

    Django 1.10文文档-第一个应用Part7-自定义管理站点

    现在先来试试重新排序表单上字段。...经过上面修改"Publication date"字段会在"Question"字段前面: ? 目前表单只有两个字段可能看不出什么,但是对于一个字段很多表单,设计一个直观合理排序方式非常重要。...(Question, QuestionAdmin) 字段集合每一个元组第一个元素是该字段集合标题。...你可以点击其中一列表头来让列表按照这列值来进行排序,但是was_published_recently这列表头不行,因为Django不支持按照随便一个方法输出进行排序。...你在search_fields中使用任意数量字段,但由于它在后台使用LIKE进行查询,尽量不要添加太多字段,不然会降低数据库查询能力。 修改列表自带分页功能,默认每页展示100条数据。

    3.6K60

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

    list_display = ('user', 'pwd',) ModelAdmin中提供了大量定制功能,如 1. list_display,列表时,定制显示列。...= ("m2m字段",) 17 ordering,列表时,数据排序规则 @admin.register(models.UserInfo) class UserAdmin(admin.ModelAdmin.../', admin.site.urls), url(r'^yuan/', (url_list,None,None)), ] 1、记录列表基本设置 比较实用记录列表设置有显示字段、每页记录数和排序等...BlogAdmin(admin.ModelAdmin): #listdisplay设置要显示在列表字段(id字段Django模型默认主键) list_display...9.自定义列表字段 在DataPaperStore模型中有 end_date 字段,如果当前时间大于end_date 是我们想显示一个“已过期”,admin列表显示不能直接用该字段,也显示不出来。

    4K40

    Django模型之Meta详解

    这个设置让你在使用modelManager上lastest方法时,默认使用指定字段排序 managed Options.managed 默认值为True,这意味着Django可以使用syncdb和...指定这个属性后你会得到一个get_xxx_order()和set_xxx_order()方法,通过它们你可以设置或者回去排序对象 ordering 这个字段是告诉Django模型对象返回记录结果集是按照哪个字段排序...这是一个字符串元组或列表,没有一个字符串都是一个字段和用一个可选表明降序'-'构成。当字段名前面没有'-'时,将默认使用升序排列。使用'?'...Django自动为每个设置了admin对象创建添加,删除和修改权限。...是其父代理 model  unique_together unique_together这个选项用于:当你需要通过两个字段保持唯一性时使用。

    1.2K20

    Django admin 一些有用设置

    我们可以对该界面进行设置,主要包括列表和筛选器。 1、记录列表基本设置 比较实用记录列表设置有显示字段、每页记录数和排序等。 ?...import Blog    #Blog模型管理器 @admin.register(Blog) class BlogAdmin(admin.ModelAdmin):     #listdisplay设置要显示在列表字段...9.自定义列表字段 上面的一对多和多对多可以数据编辑显示,但在列表没有显示。有时还需要显示一些其他东西。例如两个字段相乘计算结果等等。这些都可以通过自定义列表字段处理和显示。...,admin列表显示不能直接用该字段,也显示不出来。...blog.tags.all())         return ', '.join(tag_names) 通过自定义列表字段,获取相关数据再列表显示,效果如下: ?

    2.6K70

    Django 2.0 新特性 转

    以前版本django.conf.urls.url()方法变成了django.urls.re_path(),为了向后兼容,旧依然保留,而不是立刻废弃。...4.小特性 django.contrib.admin后台 新ModelAdmin.autocomplete_fields属性和ModelAdmin.get_autocomplete_fields()方法现在可以在外键和多对多字段上使用...django.contrib.sitemaps站点地图 为GenericSitemap构造器增加protocol参数; Cache缓存 cache.set_many()现在返回一个列表,包含了插入失败键值...QuerySet.iterator()新增chunk_size参数; QuerySet.earliest()、QuerySet.latest()和Meta.get_latest_by现在可以根据一些字段进行排序...(UserChangeForm): last_name = forms.CharField(max_length=30, required=False) 如果你需要在admin保持这个约束,

    2.6K20
    领券