django admin 写XxxxxAdmin时的一些偷懒行为:以tuple的形式返回所有属性(也可以自定义数量)

本文主要是介绍django admin 写XxxxxAdmin时的一些偷懒行为:以tuple的形式返回所有属性(也可以自定义数量),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

Model 部分 

Admin部分


Model 部分 

class Language(models.Model):"""语言"""id = models.AutoField(primary_key=True, blank=False)language_name = models.CharField('语言名称', default='', max_length=50)inuse = models.BooleanField(default=True, verbose_name='是否正在使用')users = models.BigIntegerField('使用人口数量', default=0)use_time = models.IntegerField('使用时长(年)', default=0)origin = models.CharField('起源地', max_length=200, default='')# ancient_civilization = models.ForeignKey(AncientCivilization)explain = models.TextField('语言介绍', default='', max_length=2000)user = models.ForeignKey(UserInfo, on_delete=models.SET_NULL, related_name='language_operator', verbose_name='操作人',to_field='id',null=True)create_time = models.DateTimeField('生成时间', default=timezone.now)modify_time = models.DateTimeField('修改时间', auto_now=True)  # 使用Model.save()来更新才会更新注意def __str__(self, print_all=False):  # 定义打印对象时打印的字符串if print_all:# return ' '.join(('%s' % item for item in self.__dict__.values()))return str(self.__dict__)else:return self.language_name

Admin部分:

1:10这个10代表着Language这个model属性的数量,以tuple的形式返回属性的元组,这样就不用手动将属性一个一个copy过来了,当然了这样也将不方便Main 和 Advance,以及控制显示属性的数量。

class LanguageAdmin(admin.ModelAdmin):obj = Language()list_display = tuple(obj.__dir__()[1:10])readonly_fields = ('create_time', 'modify_time',)list_display_links = ('language_name',)search_fields = ('id', 'language_name', 'user')admin.site.register(Language, LanguageAdmin)

 

这篇关于django admin 写XxxxxAdmin时的一些偷懒行为:以tuple的形式返回所有属性(也可以自定义数量)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/485100

相关文章

使用Sentinel自定义返回和实现区分来源方式

《使用Sentinel自定义返回和实现区分来源方式》:本文主要介绍使用Sentinel自定义返回和实现区分来源方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Sentinel自定义返回和实现区分来源1. 自定义错误返回2. 实现区分来源总结Sentinel自定

如何自定义Nginx JSON日志格式配置

《如何自定义NginxJSON日志格式配置》Nginx作为最流行的Web服务器之一,其灵活的日志配置能力允许我们根据需求定制日志格式,本文将详细介绍如何配置Nginx以JSON格式记录访问日志,这种... 目录前言为什么选择jsON格式日志?配置步骤详解1. 安装Nginx服务2. 自定义JSON日志格式各

Django序列化中SerializerMethodField的使用详解

《Django序列化中SerializerMethodField的使用详解》:本文主要介绍Django序列化中SerializerMethodField的使用,具有很好的参考价值,希望对大家有所帮... 目录SerializerMethodField的基本概念使用SerializerMethodField的

Python实现将MySQL中所有表的数据都导出为CSV文件并压缩

《Python实现将MySQL中所有表的数据都导出为CSV文件并压缩》这篇文章主要为大家详细介绍了如何使用Python将MySQL数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到... python将mysql数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到另一个

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

Android自定义Scrollbar的两种实现方式

《Android自定义Scrollbar的两种实现方式》本文介绍两种实现自定义滚动条的方法,分别通过ItemDecoration方案和独立View方案实现滚动条定制化,文章通过代码示例讲解的非常详细,... 目录方案一:ItemDecoration实现(推荐用于RecyclerView)实现原理完整代码实现

浅析CSS 中z - index属性的作用及在什么情况下会失效

《浅析CSS中z-index属性的作用及在什么情况下会失效》z-index属性用于控制元素的堆叠顺序,值越大,元素越显示在上层,它需要元素具有定位属性(如relative、absolute、fi... 目录1. z-index 属性的作用2. z-index 失效的情况2.1 元素没有定位属性2.2 元素处

基于Spring实现自定义错误信息返回详解

《基于Spring实现自定义错误信息返回详解》这篇文章主要为大家详细介绍了如何基于Spring实现自定义错误信息返回效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录背景目标实现产出背景Spring 提供了 @RestConChina编程trollerAdvice 用来实现 HTT

SpringSecurity 认证、注销、权限控制功能(注销、记住密码、自定义登入页)

《SpringSecurity认证、注销、权限控制功能(注销、记住密码、自定义登入页)》SpringSecurity是一个强大的Java框架,用于保护应用程序的安全性,它提供了一套全面的安全解决方案... 目录简介认识Spring Security“认证”(Authentication)“授权” (Auth

kotlin中的行为组件及高级用法

《kotlin中的行为组件及高级用法》Jetpack中的四大行为组件:WorkManager、DataBinding、Coroutines和Lifecycle,分别解决了后台任务调度、数据驱动UI、异... 目录WorkManager工作原理最佳实践Data Binding工作原理进阶技巧Coroutine