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格式化压缩后的JS文件的方法
Mar 05 Python
Python实现的文本简单可逆加密算法示例
May 18 Python
python实现微信接口(itchat)详细介绍
Oct 23 Python
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
Jan 07 Python
基于python-opencv3的图像显示和保存操作
Jun 27 Python
python实现控制COM口的示例
Jul 03 Python
python针对mysql数据库的连接、查询、更新、删除操作示例
Sep 11 Python
Python 转换RGB颜色值的示例代码
Oct 13 Python
在notepad++中实现直接运行python代码
Dec 18 Python
Python调用钉钉自定义机器人的实现
Jan 03 Python
python简单的三元一次方程求解实例
Apr 02 Python
Python用dilb提取照片上人脸的示例
Oct 26 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
中国广播史趣谈 — 几个历史第一次
2021/03/01 无线电
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
2014/03/17 PHP
PHP7如何开启Opcode打造强悍性能详解
2018/05/11 PHP
Yii框架组件的事件机制原理与用法分析
2020/04/07 PHP
PHP执行系统命令函数实例讲解
2021/03/03 PHP
浏览器缩放检测的js代码
2014/09/28 Javascript
JS判断浏览器是否支持某一个CSS3属性的方法
2014/10/17 Javascript
javascript中setAttribute()函数使用方法及兼容性
2015/07/19 Javascript
JS判断字符串变量是否含有某个字串的实现方法
2016/06/03 Javascript
js实现字符全排列算法的简单方法
2017/05/01 Javascript
原生JS发送异步数据请求
2017/06/08 Javascript
原生js+cookie实现购物车功能的方法分析
2017/12/21 Javascript
react以create-react-app为基础创建项目
2018/03/14 Javascript
JavaScript去掉数组重复项的方法分析【测试可用】
2018/07/19 Javascript
Vue组件教程之Toast(Vue.extend 方式)详解
2019/01/27 Javascript
使用Node.js实现base64和png文件相互转换的方法
2020/03/11 Javascript
原生JavaScript实现贪吃蛇游戏
2020/11/04 Javascript
Pycharm学习教程(6) Pycharm作为Vim编辑器使用
2017/05/03 Python
python实现csv格式文件转为asc格式文件的方法
2018/03/23 Python
python实现字典嵌套列表取值
2019/12/16 Python
pytorch中获取模型input/output shape实例
2019/12/30 Python
Python标准库json模块和pickle模块使用详解
2020/03/10 Python
关于Python 中的时间处理包datetime和arrow的方法详解
2020/03/19 Python
python定义类的简单用法
2020/07/24 Python
python使用smtplib模块发送邮件
2020/12/17 Python
html5 兼容IE6结构的实现代码
2012/05/14 HTML / CSS
html5 的a标签 Href 拨电话的写法
2013/11/04 HTML / CSS
Html5 页面适配iPhoneX(就是那么简单)
2019/09/05 HTML / CSS
AmazeUI 平滑滚动效果的示例代码
2020/08/20 HTML / CSS
了解AppleShare protocol(AppleShare协议)吗
2015/08/28 面试题
社区巾帼文明岗事迹材料
2014/06/03 职场文书
优秀应届本科生求职信
2014/07/19 职场文书
销售员未完成销售业绩的检讨书
2014/10/12 职场文书
2015年助残日活动总结
2015/03/27 职场文书
民事起诉书范本
2015/05/19 职场文书
学校趣味运动会开幕词
2016/03/04 职场文书