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比较2个xml内容的方法
May 11 Python
python使用super()出现错误解决办法
Aug 14 Python
Python安装模块的常见问题及解决方法
Feb 05 Python
python如何让类支持比较运算
Mar 20 Python
基于scrapy的redis安装和配置方法
Jun 13 Python
详解python解压压缩包的五种方法
Jul 05 Python
Python求离散序列导数的示例
Jul 10 Python
Python 写入训练日志文件并控制台输出解析
Aug 13 Python
感知器基础原理及python实现过程详解
Sep 30 Python
python游戏开发的五个案例分享
Mar 09 Python
Python实现猜年龄游戏代码实例
Mar 25 Python
python如何删除文件、目录
Jun 23 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 xml文件操作代码(一)
2009/03/20 PHP
检查url链接是否已经有参数的php代码 添加 ? 或 &
2010/02/09 PHP
PHP实现货币换算的方法
2014/11/29 PHP
php实现mysql数据库分表分段备份
2015/06/18 PHP
php文件系统处理方法小结
2016/05/23 PHP
PHP实现将多个文件中的内容合并为新文件的方法示例
2017/06/10 PHP
laravel 解决Validator使用中出现的问题
2019/10/25 PHP
利用webqq协议使用python登录qq发消息源码参考
2013/04/08 Javascript
Iframe实现跨浏览器自适应高度解决方法
2014/09/02 Javascript
JavaScript设计模式之代理模式介绍
2014/12/28 Javascript
Javascript 实现微信分享(QQ、朋友圈、分享给朋友)
2016/10/21 Javascript
bootstrap laydate日期组件使用详解
2017/01/04 Javascript
深入理解基于vue-cli的vuex配置
2017/07/24 Javascript
解决循环中setTimeout执行顺序的问题
2018/06/20 Javascript
angularjs http与后台交互的实现示例
2018/12/21 Javascript
layer iframe 设置关闭按钮的方法
2019/09/12 Javascript
基于scrapy实现的简单蜘蛛采集程序
2015/04/17 Python
Python中threading模块join函数用法实例分析
2015/06/04 Python
Redis使用watch完成秒杀抢购功能的代码
2018/05/07 Python
python实现遍历文件夹修改文件后缀
2018/08/28 Python
python 实现调用子文件下的模块方法
2018/12/07 Python
Python调用百度OCR实现图片文字识别的示例代码
2020/07/17 Python
Python 如何实现访问者模式
2020/07/28 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
2020/11/02 Python
Jupyter Notebook 安装配置与使用详解
2021/01/06 Python
浅谈HTML5 & CSS3的新交互特性
2016/07/19 HTML / CSS
波兰品牌鞋履在线商店:Eastend.pl
2020/01/11 全球购物
业务助理岗位职责
2013/11/18 职场文书
学生自我鉴定
2013/12/18 职场文书
美发店5.1活动方案
2014/01/24 职场文书
《一件运动衫》教学反思
2014/02/19 职场文书
民主生活会剖析材料
2014/09/30 职场文书
2014年纠风工作总结
2014/12/08 职场文书
2015年派出所民警工作总结
2015/04/24 职场文书
python 如何在list中找Topk的数值和索引
2021/05/20 Python
pytorch中F.avg_pool1d()和F.avg_pool2d()的使用操作
2021/05/22 Python