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 异常处理实例详解
Mar 12 Python
跟老齐学Python之让人欢喜让人忧的迭代
Oct 02 Python
python如何爬取个性签名
Jun 19 Python
对Python中列表和数组的赋值,浅拷贝和深拷贝的实例讲解
Jun 28 Python
python os.listdir按文件存取时间顺序列出目录的实例
Oct 21 Python
python 多线程中子线程和主线程相互通信方法
Nov 09 Python
Python面向对象之类的封装操作示例
Jun 08 Python
python GUI库图形界面开发之PyQt5不规则窗口实现与显示GIF动画的详细方法与实例
Mar 09 Python
浅谈Python线程的同步互斥与死锁
Mar 22 Python
Python内置方法和属性应用:反射和单例(推荐)
Jun 19 Python
Python List remove()实例用法详解
Aug 02 Python
Python实现信息管理系统
Jun 05 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
PHP字符过滤函数去除字符串最后一个逗号(rtrim)
2013/03/26 PHP
基于PHP 面向对象之成员方法详解
2013/05/04 PHP
PHP Curl多线程原理实例详解
2013/11/06 PHP
CI框架集成Smarty的方法分析
2016/05/17 PHP
PHP使用DOM和simplexml读取xml文档的方法示例
2017/02/08 PHP
详谈PHP中public,private,protected,abstract等关键字的用法
2017/12/31 PHP
jquery中通过父级查找进行定位示例
2013/06/28 Javascript
浅析js封装和作用域
2013/07/09 Javascript
Jquery选中或取消radio示例
2013/09/29 Javascript
js实现的点击数量加一可操作数据库
2014/05/09 Javascript
利用D3.js实现最简单的柱状图示例代码
2016/12/09 Javascript
Vue项目全局配置微信分享思路详解
2018/05/04 Javascript
Vue最新防抖方案(必看篇)
2019/10/30 Javascript
如何用vue-cli3脚手架搭建一个基于ts的基础脚手架的方法
2019/12/12 Javascript
京东优选小程序的实现代码示例
2020/02/25 Javascript
解决Vue + Echarts 使用markLine标线(precision精度问题)
2020/07/20 Javascript
javascript实现扫雷简易版
2020/08/18 Javascript
[03:47]2015国际邀请赛第三日现场精彩回顾
2015/08/08 DOTA
python随机生成指定长度密码的方法
2015/04/04 Python
在Python中使用正则表达式的方法
2015/08/13 Python
Python列表切片用法示例
2017/04/19 Python
详解用TensorFlow实现逻辑回归算法
2018/05/02 Python
Python3 使用cookiejar管理cookie的方法
2018/12/28 Python
对Python生成汉字字库文字,以及转换为文字图片的实例详解
2019/01/29 Python
对Python中小整数对象池和大整数对象池的使用详解
2019/07/09 Python
18个Python脚本可加速你的编码速度(提示和技巧)
2019/10/17 Python
windows下Pycharm安装opencv的多种方法
2020/03/05 Python
利用css3如何设置没有上下边的列表间隔线
2017/07/03 HTML / CSS
哥德堡通行证:Gothenburg Pass
2019/12/09 全球购物
就业推荐自我鉴定
2013/10/06 职场文书
法律进企业活动方案
2014/03/04 职场文书
新春寄语大全
2014/04/09 职场文书
学校安全防火方案
2014/06/07 职场文书
活动总结新闻稿
2014/08/30 职场文书
办理收楼委托书范本
2014/10/09 职场文书
Spring Boot优化后启动速度快到飞起技巧示例
2022/07/23 Java/Android