Django admin.py 在修改/添加表单界面显示额外字段的方法


Posted in Python onAugust 22, 2019

问题描述:

我有个blogextra表继承自blog,现在我想在blog的admin管理change界面显示对应的blogextra字段

解决方法:

可以使用admin.py的inline内联方法

代码:

models.py

from django.db import models

# Create your models here.


class Blog(models.Model):
  Name = models.CharField(max_length=350)
  def __unicode__(self):
    return str("Name:"+self.Name)

class BlogExtra(Blog):
  NameTwo = models.CharField(max_length=350)
  NameThree = models.CharField(max_length=350)
  def __unicode__(self):
    return str("Name:"+self.Name+" NameTwo:"+self.NameTwo+" NameThree:"+self.NameThree)

admin.py

# conding = UTF-8

from django.contrib import admin

from blogs.models import *

class BlogExtraInline(admin.StackedInline):
  model = BlogExtra
  fields = ['NameTwo']  #只显示NameTwo这个字段


class BlogAdmin(admin.ModelAdmin):
  list_display = ('id', 'Name')  

  def get_form(self, request, obj=None, **args):
    defaults = {}
    if obj is not None:
      if (len(BlogExtra.objects.filter(id=obj.id)) == 1):
        self.inlines = [BlogExtraInline]    #设置内联
      else:
        self.inlines = []           #如果不是继承,就取消设置

    defaults.update(args)
    return super(BlogAdmin, self).get_form(request, obj, **defaults)


admin.site.register(Blog, BlogAdmin)

展示效果:

正常无继承的:

Django admin.py 在修改/添加表单界面显示额外字段的方法

存在继承的(显示额外字段):

Django admin.py 在修改/添加表单界面显示额外字段的方法

以上这篇Django admin.py 在修改/添加表单界面显示额外字段的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中编写ORM框架的入门指引
Apr 29 Python
安装python时MySQLdb报错的问题描述及解决方法
Mar 20 Python
python搭建服务器实现两个Android客户端间收发消息
Apr 12 Python
详解Numpy中的广播原则/机制
Sep 20 Python
Python中staticmethod和classmethod的作用与区别
Oct 11 Python
Python在图片中插入大量文字并且自动换行
Jan 02 Python
pycharm修改界面主题颜色的方法
Jan 17 Python
python的turtle库使用详解
May 10 Python
详解Python3序列赋值、序列解包
May 14 Python
tensorflow mnist 数据加载实现并画图效果
Feb 05 Python
如何利用python生成MD5并去重
Dec 07 Python
Python字符串的15个基本操作(小结)
Feb 03 Python
Django stark组件使用及原理详解
Aug 22 #Python
Python学习笔记之字符串和字符串方法实例详解
Aug 22 #Python
Python学习笔记之列表和成员运算符及列表相关方法详解
Aug 22 #Python
Django上线部署之IIS的配置方法
Aug 22 #Python
对python中UDP,socket的使用详解
Aug 22 #Python
python3的url编码和解码,自定义gbk、utf-8的例子
Aug 22 #Python
Python学习笔记之集合的概念和简单使用示例
Aug 22 #Python
You might like
冰滴咖啡制作步骤
2021/03/03 冲泡冲煮
PHP读取txt文件的内容并赋值给数组的代码
2011/11/03 PHP
PHP 常用数组内部函数(Array Functions)介绍
2013/06/05 PHP
PHP中echo和print的区别
2014/08/28 PHP
thinkphp多层MVC用法分析
2015/12/30 PHP
用javascript实现的支持lrc歌词的播放器
2007/05/17 Javascript
ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
2010/06/12 Javascript
判断输入是否为空,获得输入类型的JS代码
2013/10/30 Javascript
jquery读取xml文件实现省市县三级联动的方法
2015/05/29 Javascript
javascript js 操作数组 增删改查的简单实现
2016/06/20 Javascript
对比分析Django的Q查询及AngularJS的Datatables分页插件
2017/02/07 Javascript
NodeJs下的测试框架Mocha的简单介绍
2017/02/22 NodeJs
javascript中replace使用方法总结
2017/03/01 Javascript
jQuery插件HighCharts实现的2D面积图效果示例【附demo源码下载】
2017/03/15 Javascript
jquery实现提示语淡入效果
2017/05/05 jQuery
vue.js中npm安装教程图解
2018/04/10 Javascript
JS Object.preventExtensions(),Object.seal()与Object.freeze()用法实例分析
2018/08/25 Javascript
vue过滤器用法实例分析
2019/03/15 Javascript
vue-cli中使用高德地图的方法示例
2019/03/28 Javascript
Nodejs实现WebSocket代码实例
2020/05/19 NodeJs
[01:11:11]Alliance vs RNG 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
python中__slots__用法实例
2015/06/04 Python
Python学习小技巧之利用字典的默认行为
2017/05/20 Python
通过python+selenium3实现浏览器刷简书文章阅读量
2017/12/26 Python
Python实现的网页截图功能【PyQt4与selenium组件】
2018/07/12 Python
python 在某.py文件中调用其他.py内的函数的方法
2019/06/25 Python
python sklearn库实现简单逻辑回归的实例代码
2019/07/01 Python
Python爬虫实现的根据分类爬取豆瓣电影信息功能示例
2019/09/15 Python
Python数据模型与Python对象模型的相关总结
2021/01/26 Python
美术教师岗位职责
2014/03/18 职场文书
主题实践活动总结
2014/05/08 职场文书
反腐倡廉警示教育活动心得体会
2014/09/04 职场文书
毕业论文致谢范文
2015/05/14 职场文书
幼儿园老师工作总结2015
2015/05/22 职场文书
音乐会主持人开场白
2015/05/28 职场文书
《卖火柴的小女孩》教学反思
2016/02/19 职场文书