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 相关文章推荐
Python3中多线程编程的队列运作示例
Apr 16 Python
python中模块查找的原理与方法详解
Aug 11 Python
纯python实现机器学习之kNN算法示例
Mar 01 Python
python3+PyQt5自定义视图详解
Apr 24 Python
Flask框架Flask-Login用法分析
Jul 23 Python
python如何通过twisted搭建socket服务
Feb 03 Python
Python3实现打印任意宽度的菱形代码
Apr 12 Python
python用Configobj模块读取配置文件
Sep 26 Python
linux mint中搜狗输入法导致pycharm卡死的问题
Oct 28 Python
python图片合成的示例
Nov 09 Python
python3爬虫中多线程的优势总结
Nov 24 Python
Python爬虫开发与项目实战
Dec 16 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执行批量mysql语句的解决方法
2013/05/02 PHP
php实现mysql备份恢复分卷处理的方法
2014/12/26 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
2020/03/27 PHP
如何重写Laravel异常处理类详解
2020/12/20 PHP
推荐11款jQuery开发的复选框和单选框美化插件
2011/08/02 Javascript
JavaScript 一道字符串分解的题目
2011/08/03 Javascript
javaScript 动态访问JSon元素示例代码
2013/08/30 Javascript
js导入导出excel(实例代码)
2013/11/25 Javascript
调用DOM对象的focus使文本框获得焦点
2014/02/19 Javascript
SeaJS入门教程系列之完整示例(三)
2014/03/03 Javascript
Knockoutjs 学习系列(二)花式捆绑
2016/06/07 Javascript
jQGrid Table操作列中点击【操作】按钮弹出按钮层的实现代码
2016/12/05 Javascript
JavaScript通过filereader接口读取文件
2017/05/10 Javascript
react-router browserHistory刷新页面404问题解决方法
2017/12/29 Javascript
手把手教你vue-cli单页到多页应用的方法
2018/05/31 Javascript
H5+C3+JS实现五子棋游戏(AI篇)
2020/05/28 Javascript
浅谈关于iview表单验证的问题
2018/09/29 Javascript
JS/HTML5游戏常用算法之路径搜索算法 随机迷宫算法详解【普里姆算法】
2018/12/13 Javascript
策略模式实现 Vue 动态表单验证的方法
2019/09/16 Javascript
微信小程序在text文本实现多种字体样式
2019/11/08 Javascript
利用webpack理解CommonJS和ES Modules的差异区别
2020/06/16 Javascript
Python实现按特定格式对文件进行读写的方法示例
2017/11/30 Python
Python带动态参数功能的sqlite工具类
2018/05/26 Python
pycharm执行python时,填写参数的方法
2018/10/29 Python
css3实现动画的三种方式
2020/08/24 HTML / CSS
Coltorti Boutique官网:来自意大利的设计师品牌买手店
2018/11/09 全球购物
企业总经理职责
2014/02/02 职场文书
市优秀教师事迹材料
2014/02/05 职场文书
求职信格式要求
2014/05/23 职场文书
2015年禁毒工作总结
2015/04/30 职场文书
2015元旦感言
2015/12/09 职场文书
党风廉政教育心得体会2016
2016/01/22 职场文书
导游词之西安骊山
2019/12/20 职场文书
用Java实现简单计算器功能
2021/07/21 Java/Android
dubbo集成zipkin获取Traceid的实现
2021/07/26 Java/Android
CSS 实现Chrome标签栏的技巧
2021/08/04 HTML / CSS