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控制台显示时钟的示例
Feb 24 Python
Python中使用装饰器和元编程实现结构体类实例
Jan 28 Python
Python写的服务监控程序实例
Jan 31 Python
PyQt5主窗口动态加载Widget实例代码
Feb 07 Python
python opencv3实现人脸识别(windows)
May 25 Python
Python动态导入模块的方法实例分析
Jun 28 Python
在Pycharm中对代码进行注释和缩进的方法详解
Jan 20 Python
如何在Django中添加没有微秒的 DateTimeField 属性详解
Jan 30 Python
django获取from表单multiple-select的value和id的方法
Jul 19 Python
flask 使用 flask_apscheduler 做定时循环任务的实现
Dec 10 Python
pytorch标签转onehot形式实例
Jan 02 Python
使用Pytorch实现two-head(多输出)模型的操作
May 28 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数组函数序列之in_array() 查找数组值是否存在
2011/10/29 PHP
PHP实现利用MySQL保存session的方法
2014/08/23 PHP
php隐藏实际地址的文件下载方法
2015/04/18 PHP
PHP isset empty函数相关面试题及解析
2020/12/11 PHP
javascript实现的动态文字变换
2007/07/28 Javascript
js png图片(有含有透明)在IE6中为什么不透明了
2010/02/07 Javascript
Javascript Jquery 遍历Json的实现代码
2010/03/31 Javascript
用jquery.sortElements实现table排序
2014/05/04 Javascript
node.js中的http.response.getHeader方法使用说明
2014/12/14 Javascript
Javascript 实现图片无缝滚动
2014/12/19 Javascript
sails框架的学习指南
2014/12/22 Javascript
js分页工具实例
2015/01/28 Javascript
Bootstrap基础学习
2015/06/16 Javascript
javascript生成不重复的随机数
2015/07/17 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐)
2016/06/23 Javascript
封装获取dom元素的简单实例
2016/07/08 Javascript
全面解析Bootstrap表单样式的使用
2016/09/09 Javascript
JavaScript简单拖拽效果(1)
2017/05/17 Javascript
vue2.0中vue-cli实现全选、单选计算总价格的实例代码
2017/07/18 Javascript
百度地图去掉marker覆盖物或者去掉maker的label文字方法
2018/01/26 Javascript
浅析Vue项目中使用keep-Alive步骤
2018/07/27 Javascript
说说如何使用Vuex进行状态管理(小结)
2019/04/14 Javascript
vant自定义二级菜单操作
2020/11/02 Javascript
django实现分页的方法
2015/05/26 Python
Pycharm学习教程(4) Python解释器的相关配置
2017/05/03 Python
使用django-crontab实现定时任务的示例
2018/02/26 Python
python爬虫获取新浪新闻教学
2018/12/23 Python
上课迟到检讨书100字
2014/01/11 职场文书
清华大学自主招生自荐信
2014/01/29 职场文书
爱祖国演讲稿
2014/05/04 职场文书
环卫个人总结
2015/03/03 职场文书
小学少先队工作总结2015
2015/05/26 职场文书
狂人日记读书笔记
2015/06/30 职场文书
感谢信
2019/04/11 职场文书
python小程序之飘落的银杏
2021/04/17 Python
Python的property属性详细讲解
2022/04/11 Python