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 ip正则式
May 07 Python
python实现的文件夹清理程序分享
Nov 22 Python
Python类的用法实例浅析
May 27 Python
Python提取Linux内核源代码的目录结构实现方法
Jun 24 Python
python批量设置多个Excel文件页眉页脚的脚本
Mar 14 Python
python查询文件夹下excel的sheet名代码实例
Apr 02 Python
Django页面数据的缓存与使用的具体方法
Apr 23 Python
python单例设计模式实现解析
Jan 07 Python
Python猴子补丁Monkey Patch用法实例解析
Mar 23 Python
Python使用jpype模块调用jar包过程解析
Jul 29 Python
基于Python的身份证验证识别和数据处理详解
Nov 14 Python
pytorch Dropout过拟合的操作
May 27 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后台实现微信小程序登录
2018/08/03 PHP
angularJS结合canvas画图例子
2015/02/09 Javascript
jQuery实现强制cookie过期方法汇总
2015/05/22 Javascript
Ajax清除浏览器js、css、图片缓存的方法
2015/08/06 Javascript
基于jQuery和CSS3制作数字时钟附源码下载(jquery篇)
2015/11/24 Javascript
jQuery实现无限往下滚动效果代码
2016/04/16 Javascript
jQuery增加、删除及修改select option的方法
2016/08/19 Javascript
javascript内存分配原理实例分析
2017/04/10 Javascript
浅谈react前后端同构渲染
2017/09/20 Javascript
详解vue项目的构建,打包,发布全过程
2017/11/23 Javascript
使用Vue完成一个简单的todolist的方法
2017/12/01 Javascript
layui 解决富文本框form表单提交为空的问题
2019/10/26 Javascript
Node.js API详解之 zlib模块用法分析
2020/05/19 Javascript
js实现抽奖功能
2020/11/24 Javascript
[01:23:59]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 VP vs Secret
2018/04/03 DOTA
python实现跨文件全局变量的方法
2014/07/07 Python
Python的垃圾回收机制深入分析
2014/07/16 Python
深入源码解析Python中的对象与类型
2015/12/11 Python
Python MD5加密实例详解
2017/08/02 Python
python中装饰器级连的使用方法示例
2017/09/29 Python
Python函数和模块的使用总结
2019/05/20 Python
Python编程实现tail-n查看日志文件的方法
2019/07/08 Python
python读写csv文件并增加行列的实例代码
2019/08/01 Python
PyCharm无法识别PyQt5的2种解决方法,ModuleNotFoundError: No module named 'pyqt5'
2020/02/17 Python
Daniel Wellington官方海外旗舰店:丹尼尔惠灵顿DW手表
2018/02/22 全球购物
比较一下entity bean和session bean
2013/12/27 面试题
工作中的自我评价如何写好
2013/10/28 职场文书
餐饮加盟计划书
2014/01/10 职场文书
企业诚信承诺书
2014/05/23 职场文书
小孩不笨观后感
2015/06/03 职场文书
2016校本研修培训心得体会
2016/01/08 职场文书
二手手机买卖合同范本(2019年版)
2019/10/28 职场文书
高一作文之暖冬
2019/11/09 职场文书
导游词之太行山青龙峡
2020/01/14 职场文书
Python排序算法之插入排序及其优化方案详解
2021/06/11 Python
Redis入门教程详解
2021/08/30 Redis