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引入导入自定义模块和外部文件的实例
Jul 24 Python
Python简单计算数组元素平均值的方法示例
Dec 26 Python
python简单实现操作Mysql数据库
Jan 29 Python
Python爬虫实现全国失信被执行人名单查询功能示例
May 03 Python
Python实现使用卷积提取图片轮廓功能示例
May 12 Python
Python爬虫框架Scrapy基本用法入门教程
Jul 26 Python
浅谈PYTHON 关于文件的操作
Mar 19 Python
Django中celery执行任务结果的保存方法
Jul 12 Python
PyCharm 专业版安装图文教程
Feb 20 Python
python 两个一样的字符串用==结果为false问题的解决
Mar 12 Python
Python日志模块logging用法
Jun 05 Python
Python爬取奶茶店数据分析哪家最好喝以及性价比
Sep 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
Smarty结合Ajax实现无刷新留言本实例
2007/01/02 PHP
php 分页类 扩展代码
2009/06/11 PHP
PHP发明人谈MVC和网站设计架构 貌似他不支持php用mvc
2011/06/04 PHP
linux系统上支持php的 iconv()函数的方法
2011/10/01 PHP
PHP gbk环境下json_dencode传送来的汉字
2012/11/13 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
PHP实现批量重命名某个文件夹下所有文件的方法
2017/09/04 PHP
PHP+swoole+linux实现系统监控和性能优化操作示例
2019/04/15 PHP
JavaScript中几种常见排序算法小结
2011/02/22 Javascript
iframe如何动态创建及释放其所占内存
2014/09/03 Javascript
JS中mouseover和mouseout多次触发问题如何解决
2016/06/06 Javascript
js实现上传文件添加和删除文件选择框
2016/10/24 Javascript
jQuery实现的分页功能示例
2017/01/22 Javascript
基于jQuery选择器之表单对象属性筛选选择器的实例
2017/09/19 jQuery
关于AngularJS中几种Providers的区别总结
2020/05/17 Javascript
vue实现评价星星功能
2020/06/30 Javascript
Vue前端判断数据对象是否为空的实例
2020/09/02 Javascript
python实现给字典添加条目的方法
2014/09/25 Python
Django 生成登陆验证码代码分享
2017/12/12 Python
Python Grid使用和布局详解
2018/06/30 Python
python+opencv实现霍夫变换检测直线
2020/10/23 Python
Python 实现自动导入缺失的库
2019/10/29 Python
Opencv求取连通区域重心实例
2020/06/04 Python
python字典与json转换的方法总结
2020/12/28 Python
HTML5输入框下拉菜单功能的示例代码
2020/09/08 HTML / CSS
Expedia法国:全球最大在线旅游公司
2018/09/30 全球购物
经典c++面试题四
2015/05/14 面试题
杭州信雅达系统.NET工程师面试试题
2015/02/08 面试题
《我要的是葫芦》教学反思
2014/02/23 职场文书
教师廉洁自律承诺书
2014/05/26 职场文书
法人授权委托书范本
2014/09/17 职场文书
大学生入党自传2015
2015/06/26 职场文书
运动会5000米加油稿
2015/07/21 职场文书
九年级语文教学反思
2016/03/03 职场文书
CSS3实现模糊背景的三种效果示例
2021/03/30 HTML / CSS
js前端图片加载异常兜底方案
2022/06/21 Javascript