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选择排序、冒泡排序、合并排序代码实例
Apr 10 Python
在Windows服务器下用Apache和mod_wsgi配置Python应用的教程
May 06 Python
Python实现Linux命令xxd -i功能
Mar 06 Python
Python使用PyCrypto实现AES加密功能示例
May 22 Python
Python基于多线程操作数据库相关问题分析
Jul 11 Python
Python装饰器用法实例分析
Jan 14 Python
Python3远程监控程序的实现方法
Jul 15 Python
python matplotlib库直方图绘制详解
Aug 10 Python
Python数据结构dict常用操作代码实例
Mar 12 Python
keras使用Sequence类调用大规模数据集进行训练的实现
Jun 22 Python
python3.7添加dlib模块的方法
Jul 01 Python
浅谈pandas dataframe对除数是零的处理
Jul 20 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
星际争霸中的对战模式介绍
2020/03/04 星际争霸
PHP 常见郁闷问题答解
2006/11/25 PHP
php 不使用js实现页面跳转
2014/02/11 PHP
php实现Linux服务器木马排查及加固功能
2014/12/29 PHP
功能强大的PHP图片处理类(水印、透明度、旋转)
2015/10/21 PHP
PHP的中使用非缓冲模式查询数据库的方法
2017/02/05 PHP
js获取url参数值的两种方式
2013/09/10 Javascript
鼠标滑过出现预览的大图提示效果
2014/02/26 Javascript
javascript Slip.js实现整屏滑动的手机网页
2015/11/25 Javascript
Javascript复制实例详解
2016/01/28 Javascript
HTML5+jQuery插件Quicksand实现超酷的星际争霸2兵种分类展示效果(附demo源码下载)
2016/05/25 Javascript
Json对象和字符串互相转换json数据拼接和JSON使用方式详细介绍(小结)
2016/10/25 Javascript
详解webpack与SPA实践之开发环境搭建
2017/12/18 Javascript
解决vue打包项目后刷新404的问题
2018/03/06 Javascript
vue favicon设置以及动态修改favicon的方法
2018/12/21 Javascript
Element实现表格嵌套、多个表格共用一个表头的方法
2020/05/09 Javascript
[04:51]TI10典藏宝瓶Ⅱ外观视频展示
2020/08/15 DOTA
Python 正则表达式入门(中级篇)
2016/12/07 Python
Python3.5.3下配置opencv3.2.0的操作方法
2018/04/02 Python
Python 给某个文件名添加时间戳的方法
2018/10/16 Python
flask框架渲染Jinja模板与传入模板变量操作详解
2020/01/25 Python
如何在Python对Excel进行读取
2020/06/04 Python
python实现移动木板小游戏
2020/10/09 Python
CSS3教程(9):设置RGB颜色
2009/04/02 HTML / CSS
CSS3中的display:grid,网格布局介绍
2019/10/30 HTML / CSS
请编程遍历页面上所有 TextBox 控件并给它赋值为 string.Empty
2015/12/03 面试题
北京麒麟网信息技术有限公司网络游戏测试面试题
2013/09/28 面试题
初中女生自我鉴定
2013/12/19 职场文书
运动会跳远加油稿
2014/02/20 职场文书
四风问题对照检查材料思想汇报
2014/10/07 职场文书
教师批评与自我批评材料
2014/10/16 职场文书
2014年教师教学工作总结
2014/11/08 职场文书
防溺水主题班会教案
2015/08/12 职场文书
《领导干部从政道德启示录》学习心得体会
2016/01/20 职场文书
公司年会主持词范文!
2019/05/07 职场文书
JS高级程序设计之class继承重点详解
2022/07/07 Javascript