django 模型中的计算字段实例


Posted in Python onMay 19, 2020

models.py

class Person(models.Model):
  family_name= models.CharField(max_length=20, verbose_name='姓')
  given_name = models.CharField(max_length=20, verbose_name='名')
  def name(self): # 计算字段要显示在修改页面中只能定义在只读字段中(否则不显示):readonly_fields = ('sc',)
    return '%s,%s' % (self.family_name, self.given_name)
  name.short_description = '全名' # 用于显示时的名字 , 没有这个,字段标题将显示'name'
  def __str__(self):
    return "%s %s " % (self.family_name, self.given_name)

admin.py

class PersonAdmin(admin.ModelAdmin):
  readonly_fields = ('name',)

admin.site.register(Person, PersonAdmin)

也可以把计算字段写在modelAdmin中

models.py

class Person(models.Model):
  family_name= models.CharField(max_length=20, verbose_name='姓')
  given_name = models.CharField(max_length=20, verbose_name='名')

  def __str__(self):
    return "%s %s " % (self.family_name, self.given_name)

admin.py

class PersonAdmin(admin.ModelAdmin):
  
  def name(self,obj): 
    # 这个方法会得到两个参数,第一个是类本身的一个实例(app.PersonAdmin),第二个是这个类管理的模型实例(Person)
    return '%s,%s' % (self.family_name, self.given_name)

  name.short_description = '全名' # 用于显示时的名字 , 没有这个,字段标题将显示'name'
  readonly_fields = ('name',)

admin.site.register(Person, PersonAdmin)

补充知识:django如何在 search_fields 中包含外键字段

在search_fields中加入一个外键的名字是不能查询的,要写成(外键名__外键中的字段名)的形式.

search_fields = ('attributename','goodsclass__cn')
# goodsclass__cn 就可以搜索外键的名字中有搜索词的条目了,
# 比如搜索手机的分辨率,而不是电脑的分辨率,就可以搜索'手机 分辨率'

以上这篇django 模型中的计算字段实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python通过get,post方式发送http请求和接收http响应的方法
May 26 Python
Python字符串格式化
Jun 15 Python
详解Python实现多进程异步事件驱动引擎
Aug 25 Python
Python基于高斯消元法计算线性方程组示例
Jan 17 Python
python最长回文串算法
Jun 04 Python
opencv python 图像去噪的实现方法
Aug 31 Python
解决pycharm运行出错,代码正确结果不显示的问题
Nov 30 Python
使用Python 正则匹配两个特定字符之间的字符方法
Dec 24 Python
Python3.4学习笔记之类型判断,异常处理,终止程序操作小结
Mar 01 Python
win10环境下配置vscode python开发环境的教程详解
Oct 16 Python
python/golang实现循环链表的示例代码
Sep 14 Python
Python实现Kerberos用户的增删改查操作
Dec 14 Python
Django获取model中的字段名和字段的verbose_name方式
May 19 #Python
Python日志处理模块logging用法解析
May 19 #Python
基于PyQT实现区分左键双击和单击
May 19 #Python
Python更换pip源方法过程解析
May 19 #Python
解决Django Haystack全文检索为空的问题
May 19 #Python
浅谈django 重载str 方法
May 19 #Python
django admin管理工具自定义时间区间筛选器DateRangeFilter介绍
May 19 #Python
You might like
德劲1102收音机的打理维修案例
2021/03/02 无线电
PHP 类型转换函数intval
2009/06/20 PHP
php文件夹与文件目录操作函数介绍
2013/09/09 PHP
PHP统计目录大小的自定义函数分享
2014/11/18 PHP
程序员的表白神器“520”大声喊出来
2016/05/20 PHP
php代码检查代理ip的有效性
2016/08/19 PHP
php获取服务器操作系统相关信息的方法
2016/10/08 PHP
Javascript this关键字使用分析
2008/10/21 Javascript
JavaScript 动态生成方法的例子
2009/07/22 Javascript
javascript对talbe进行动态添加、删除、验证实现代码
2012/03/29 Javascript
jQuery实现鼠标滑过遮罩并高亮显示效果
2013/07/16 Javascript
js不能获取隐藏的div的宽度只能先显示后获取
2014/09/04 Javascript
javascript跨域请求包装函数与用法示例
2016/11/03 Javascript
详解JavaScript模块化开发
2016/12/04 Javascript
详解JavaScript时间处理之几个月前或几个月后的指定日期
2016/12/21 Javascript
微信小程序 安全包括(框架、功能模块、账户使用)详解
2017/01/16 Javascript
深入理解Node中的buffer模块
2017/06/03 Javascript
原生javascript实现文件异步上传的实例讲解
2017/10/26 Javascript
浅析vue中常见循环遍历指令的使用 v-for
2018/04/18 Javascript
vue axios基于常见业务场景的二次封装的实现
2018/09/21 Javascript
自定义javascript验证框架示例【附源码下载】
2019/05/31 Javascript
[01:34]2014DOTA2 TI预选赛预选赛 选手比赛房大揭秘!
2014/05/20 DOTA
[37:03]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第二场 12.16
2020/12/18 DOTA
Python2.x版本中cmp()方法的使用教程
2015/05/14 Python
基于python yield机制的异步操作同步化编程模型
2016/03/18 Python
django admin添加数据自动记录user到表中的实现方法
2018/01/05 Python
django执行原始查询sql,并返回Dict字典例子
2020/04/01 Python
Python如何定义有默认参数的函数
2020/08/10 Python
HTML5中的Web Notification桌面右下角通知功能的实现
2018/04/19 HTML / CSS
高档奢华时装在线目的地:FORWARD by elyse walker
2017/10/16 全球购物
最便宜促销价格订机票:Airpaz(总部设在印尼,支持中文)
2018/11/13 全球购物
StubHub澳大利亚:购买或出售您的门票
2019/08/01 全球购物
分家协议书
2014/04/21 职场文书
优秀班主任材料
2014/12/16 职场文书
解决IIS7下无法绑定https主机的问题
2022/04/29 Servers
mysql中关键词exists的用法实例详解
2022/06/10 MySQL