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实现的几个常用排序算法实例
Jun 16 Python
python中执行shell命令的几个方法小结
Sep 18 Python
Python输出9*9乘法表的方法
May 25 Python
Python编程中实现迭代器的一些技巧小结
Jun 21 Python
python中subprocess批量执行linux命令
Apr 27 Python
django允许外部访问的实例讲解
May 14 Python
python实现对任意大小图片均匀切割的示例
Dec 05 Python
python画图的函数用法以及技巧
Jun 28 Python
Python读取二进制文件代码方法解析
Jun 22 Python
解决python pandas读取excel中多个不同sheet表格存在的问题
Jul 14 Python
Python一行代码实现自动发邮件功能
May 30 Python
总结Python连接CS2000的详细步骤
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压缩文件夹最新版
2018/07/18 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
JQuery 学习技巧总结
2010/05/21 Javascript
js中将字符串转换成json的三种方式
2011/01/12 Javascript
jquery右下角自动弹出可关闭的广告层
2015/05/08 Javascript
学习JavaScript设计模式之迭代器模式
2016/01/19 Javascript
深入解析JavaScript中的立即执行函数
2016/05/21 Javascript
ECHO.js 纯javascript轻量级延迟加载的实例代码
2016/05/24 Javascript
jQuery easyUI datagrid 增加求和统计行的实现代码
2016/06/01 Javascript
深入理解JavaScript中Ajax
2016/08/02 Javascript
Js得到radiobuttonlist选中值的两种方法(推荐)
2016/08/25 Javascript
利用AngularJs实现京东首页轮播图效果
2016/09/08 Javascript
详解jquery easyui之datagrid使用参考
2016/12/05 Javascript
React组件生命周期详解
2017/07/03 Javascript
nodejs文件夹深层复制功能
2019/09/03 NodeJs
JS实现“全选”和"全不选"功能代码实例
2020/02/06 Javascript
基于 Vue 的 Electron 项目搭建过程图文详解
2020/07/22 Javascript
微信小程序实现列表左右滑动
2020/11/19 Javascript
[05:31]DOTA2英雄梦之声_第08期_莉娜
2014/06/23 DOTA
Python随机生成带特殊字符的密码
2016/03/02 Python
Python机器学习算法之k均值聚类(k-means)
2018/02/23 Python
Python_查看sqlite3表结构,查询语句的示例代码
2019/07/17 Python
Python2及Python3如何实现兼容切换
2020/09/01 Python
python 操作excel表格的方法
2020/12/05 Python
html5的canvas方法使用指南
2014/12/15 HTML / CSS
多视角3D可旋转的HTML5 Logo动画
2016/03/02 HTML / CSS
基于html5 canvas做批改作业的小插件
2020/05/20 HTML / CSS
深深扎根运动世界的生活品牌:Tillys
2017/10/30 全球购物
美国室内和室外装饰花盆购物网站:ePlanters
2019/03/22 全球购物
建筑安全员岗位职责
2014/03/13 职场文书
本科应届生求职信
2014/08/05 职场文书
长城导游词300字
2015/01/30 职场文书
HTML基础-标签分类(闭合标签,空标签,块级元素,行内元素,行级块元素,可替换元素)
2021/03/31 HTML / CSS
SQLServer2008提示评估期已过解决方案
2021/04/12 SQL Server
Java Optional<Foo>转换成List<Bar>的实例方法
2021/06/20 Java/Android
SpringDataJPA实体类关系映射配置方式
2021/12/06 Java/Android