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的汉字转GBK码实现代码
Feb 19 Python
Python 文件和输入输出小结
Oct 09 Python
Python学习笔记之os模块使用总结
Nov 03 Python
Python选课系统开发程序
Sep 02 Python
Python Queue模块详细介绍及实例
Dec 27 Python
python+selenium实现登录账户后自动点击的示例
Dec 22 Python
python opencv设置摄像头分辨率以及各个参数的方法
Apr 02 Python
python实现抖音点赞功能
Apr 07 Python
python实现socket+threading处理多连接的方法
Jul 23 Python
Python脚本实现Zabbix多行日志监控过程解析
Aug 26 Python
详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
Dec 13 Python
python代码实现扫码关注公众号登录的实战
Nov 01 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中最简单的字符串匹配算法
2014/12/16 PHP
PHP用户管理中常用接口调用实例及解析(含源码)
2017/03/09 PHP
PHP共享内存使用与信号控制实例分析
2018/05/09 PHP
Yii框架getter与setter方法功能与用法分析
2019/10/22 PHP
利用json获取字符出现次数的代码
2012/03/22 Javascript
js获取通过ajax返回的map型的JSONArray的方法
2014/01/09 Javascript
javascript操纵OGNL标签示例代码
2014/06/16 Javascript
jQuery+css3实现Ajax点击后动态删除功能的方法
2015/08/10 Javascript
莱鸟介绍window.print()方法
2016/01/06 Javascript
超漂亮的Bootstrap 富文本编辑器summernote
2016/04/05 Javascript
JavaScript实现读取与输出XML文件数据的方法示例
2018/06/05 Javascript
解决vue addRoutes不生效问题
2020/08/04 Javascript
基于vue项目设置resolves.alias: '@'路径并适配webstorm
2020/12/02 Vue.js
Python中计算三角函数之cos()方法的使用简介
2015/05/15 Python
关于pip的安装,更新,卸载模块以及使用方法(详解)
2017/05/19 Python
python登录并爬取淘宝信息代码示例
2017/12/09 Python
pandas series序列转化为星期几的实例
2018/04/11 Python
对pandas replace函数的使用方法小结
2018/05/18 Python
pycharm修改界面主题颜色的方法
2019/01/17 Python
python使用Plotly绘图工具绘制散点图、线形图
2019/04/02 Python
Python后台开发Django会话控制的实现
2019/04/15 Python
在cmd中查看python的安装路径方法
2019/07/03 Python
使用python将多个excel文件合并到同一个文件的方法
2019/07/09 Python
Django实现发送邮件功能
2019/07/18 Python
超简单的Python HTTP服务
2019/07/22 Python
tensorflow之tf.record实现存浮点数数组
2020/02/17 Python
pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误)
2020/05/09 Python
使用anaconda安装pytorch的实现步骤
2020/09/03 Python
高中生学习生活的自我评价
2013/11/27 职场文书
环保倡议书50字
2014/05/15 职场文书
鼓舞士气的口号
2014/06/16 职场文书
银行客户经理岗位职责
2015/04/09 职场文书
2015年人事科工作总结
2015/04/28 职场文书
2016年国庆节宣传标语
2015/11/25 职场文书
html+css实现文字折叠特效实例
2021/06/02 HTML / CSS
TypeScript 使用 Tuple Union 声明函数重载
2022/04/07 Javascript