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 相关文章推荐
基于scrapy实现的简单蜘蛛采集程序
Apr 17 Python
python使用邻接矩阵构造图代码示例
Nov 10 Python
python3 kmp 字符串匹配的方法
Jul 07 Python
Python封装原理与实现方法详解
Aug 28 Python
机器学习实战之knn算法pandas
Jun 22 Python
Python实现12306火车票抢票系统
Jul 04 Python
python爬虫项目设置一个中断重连的程序的实现
Jul 26 Python
python实现windows倒计时锁屏功能
Jul 30 Python
Python如何应用cx_Oracle获取oracle中的clob字段问题
Aug 27 Python
在tensorflow中设置使用某一块GPU、多GPU、CPU的操作
Feb 07 Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
Jun 08 Python
Keras 数据增强ImageDataGenerator多输入多输出实例
Jul 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
php自定义的格式化时间示例代码
2013/12/05 PHP
PHP图像处理类库MagickWand用法实例分析
2015/05/21 PHP
使用php+swoole对client数据实时更新(一)
2016/01/07 PHP
jquery 3D球状导航的文章分类
2010/07/06 Javascript
jquery中val()方法是从最后一个选项往前读取的
2015/09/06 Javascript
详解JavaScript函数
2015/12/01 Javascript
jquery及js实现动态加载js文件的方法
2016/01/21 Javascript
jquery if条件语句的写法
2016/05/19 Javascript
AngularJS基础 ng-paste 指令简单示例
2016/08/02 Javascript
js编写的treeview使用方法
2016/11/11 Javascript
解决前端跨域问题方案汇总
2016/11/20 Javascript
element-ui 表格数据时间格式化的方法
2018/08/24 Javascript
浅谈Vue页面级缓存解决方案feb-alive(上)
2019/04/14 Javascript
JS回调函数 callback的理解与使用案例分析
2019/09/09 Javascript
[01:34]传奇从这开始 2016国际邀请赛中国区预选赛震撼开启
2016/06/26 DOTA
[30:55]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第二场 11.18
2020/11/18 DOTA
python通过线程实现定时器timer的方法
2015/03/16 Python
Python实现将目录中TXT合并成一个大TXT文件的方法
2015/07/15 Python
简单解析Django框架中的表单验证
2015/07/17 Python
浅谈Python中列表生成式和生成器的区别
2015/08/03 Python
详解Python异常处理中的Finally else的功能
2017/12/29 Python
numpy使用技巧之数组过滤实例代码
2018/02/03 Python
python 识别图片中的文字信息方法
2018/05/10 Python
python实现年会抽奖程序
2019/01/22 Python
python新手学习可变和不可变对象
2020/06/11 Python
最新Python idle下载、安装与使用教程图文详解
2020/11/28 Python
CSS3 开发工具收集
2010/04/17 HTML / CSS
挪威户外活动服装和装备购物网站:Bergfreunde挪威
2016/10/20 全球购物
SneakerStudio英国:最佳运动鞋商店
2019/05/22 全球购物
法律进机关实施方案
2014/03/12 职场文书
社区网格化管理实施方案
2014/03/21 职场文书
党员岗位承诺书
2014/03/25 职场文书
工作疏忽、懈怠的检讨书
2014/09/11 职场文书
学生考试舞弊检讨书
2015/01/01 职场文书
起诉状范本
2015/05/20 职场文书
CSS中实现动画效果-附案例
2022/02/28 HTML / CSS