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 相关文章推荐
django自定义Field实现一个字段存储以逗号分隔的字符串
Apr 27 Python
python3读取MySQL-Front的MYSQL密码
May 03 Python
python爬取网页转换为PDF文件
Jun 07 Python
详解python如何在django中为用户模型添加自定义权限
Oct 15 Python
python添加模块搜索路径和包的导入方法
Jan 19 Python
自学python的建议和周期预算
Jan 30 Python
Python3 翻转二叉树的实现
Sep 30 Python
pycharm 代码自动补全的实现方法(图文)
Sep 18 Python
python如何编写类似nmap的扫描工具
Nov 06 Python
Python 多进程、多线程效率对比
Nov 19 Python
python疲劳驾驶困倦低头检测功能的实现
Apr 04 Python
python运行脚本文件的三种方法实例
Jun 25 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中修改浏览器的User-Agent来伪装你的浏览器和操作系统
2011/07/29 PHP
PHP使用静态方法的几个注意事项
2014/09/16 PHP
PHP抓取远程图片(含不带后缀的)教程详解
2016/10/21 PHP
PHP支付宝当面付2.0代码
2018/12/21 PHP
另类调用flash无须激活的方法
2006/12/27 Javascript
jquery $.getJSON()跨域请求
2011/12/21 Javascript
js实现动态改变字体大小代码
2014/01/02 Javascript
jquery删除提示框弹出是否删除对话框
2014/01/07 Javascript
jquery实现在页面加载完毕后获取图片高度或宽度
2014/06/16 Javascript
nodejs之请求路由概述
2014/07/05 NodeJs
微信jssdk在iframe页面失效问题的解决措施
2016/03/03 Javascript
JavaScript基于DOM操作实现简单的数学运算功能示例
2017/01/16 Javascript
js从输入框读取内容,比较两个数字的大小方法
2017/03/13 Javascript
discuz表情的JS提取方法分析
2017/03/22 Javascript
JS实现生成由字母与数字组合的随机字符串功能详解
2018/05/25 Javascript
IDEA安装vue插件图文详解
2019/09/26 Javascript
Vue.js中的高级面试题及答案
2020/01/13 Javascript
JS字符串和数组如何实现相互转化
2020/07/02 Javascript
[05:04]DOTA2上海特级锦标赛主赛事第二日TOP10
2016/03/04 DOTA
python 巧用正则寻找字符串中的特定字符的位置方法
2018/05/02 Python
如何在Django中添加没有微秒的 DateTimeField 属性详解
2019/01/30 Python
使用Python正则表达式操作文本数据的方法
2019/05/14 Python
python中sklearn的pipeline模块实例详解
2020/05/21 Python
基于CSS3实现立方体自转效果
2016/03/01 HTML / CSS
谷歌浏览器小字体处理方案即12px以下字体
2013/12/17 HTML / CSS
canvas学习和滤镜实现代码
2018/08/22 HTML / CSS
如何使用amaze ui的分页样式封装一个通用的JS分页控件
2020/08/21 HTML / CSS
英国高街品牌:Miss Selfridge(塞尔弗里奇小姐)
2016/09/21 全球购物
strstr()的简单实现
2013/09/26 面试题
会计学个人自荐信模板
2013/12/13 职场文书
幼儿园安全责任书范本
2014/07/24 职场文书
党的群众路线教育实践活动个人整改措施范文
2014/11/04 职场文书
2014年招生工作总结
2014/11/26 职场文书
初中教师个人总结
2015/02/10 职场文书
计划生育工作总结2015
2015/04/03 职场文书
瞿秋白纪念馆观后感
2015/06/10 职场文书