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实现图片拼接的代码
Jul 02 Python
python调用tcpdump抓包过滤的方法
Jul 18 Python
python+influxdb+shell编写区域网络状况表
Jul 27 Python
浅谈python下tiff图像的读取和保存方法
Dec 04 Python
pandas求两个表格不相交的集合方法
Dec 08 Python
python环境路径配置以及命令行运行脚本
Apr 02 Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
May 07 Python
django model通过字典更新数据实例
Apr 01 Python
jupyter lab的目录调整及设置默认浏览器为chrome的方法
Apr 10 Python
解决jupyter notebook 出现In[*]的问题
Apr 13 Python
Python连接Hadoop数据中遇到的各种坑(汇总)
Apr 14 Python
python+adb+monkey实现Rom稳定性测试详解
Apr 23 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在线生成ico文件的代码
2007/10/09 PHP
PHP Array交叉表实现代码
2010/08/05 PHP
PHP 图片水印类代码
2012/08/27 PHP
PHP小技巧之JS和CSS优化工具Minify的使用方法
2014/05/19 PHP
Codeigniter实现处理用户登录验证后的URL跳转
2014/06/12 PHP
php实现QQ空间获取当前用户的用户名并生成图片
2015/07/25 PHP
php实现往pdf中加数字签名操作示例【附源码下载】
2018/08/07 PHP
基于jQuery实现的当离开页面时出现提示的实现代码
2011/06/27 Javascript
使用Javascript接收get传递的值的代码
2011/11/30 Javascript
原生Js页面滚动延迟加载图片实现原理及过程
2013/06/24 Javascript
JS文本获得焦点清除文本文字的示例代码
2014/01/13 Javascript
JavaScript实现的字符串replaceAll函数代码分享
2015/04/02 Javascript
js图片上传前预览功能(兼容所有浏览器)
2016/08/24 Javascript
JS和canvas实现俄罗斯方块
2017/03/14 Javascript
JS实现的简单表单验证功能完整实例
2017/10/14 Javascript
js中apply与call简单用法详解
2017/11/06 Javascript
详解react关于事件绑定this的四种方式
2018/03/09 Javascript
实用Javascript调试技巧分享(小结)
2019/06/18 Javascript
纯js+css实现在线时钟
2020/08/18 Javascript
es5 类与es6中class的区别小结
2020/11/09 Javascript
[07:08]2014DOTA2西雅图国际邀请赛 小组赛7月11日TOPPLAY
2014/07/11 DOTA
[45:15]Optic vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
python基于mysql实现的简单队列以及跨进程锁实例详解
2014/07/07 Python
使用Python的Django框架实现事务交易管理的教程
2015/04/20 Python
CentOS中使用virtualenv搭建python3环境
2015/06/08 Python
从请求到响应过程中django都做了哪些处理
2018/08/01 Python
python3.4爬虫demo
2019/01/22 Python
使用pip安装python库的多种方式
2019/07/31 Python
通过字符串导入 Python 模块的方法详解
2019/10/27 Python
用CSS3打造HTML5的Logo(实现代码)
2016/06/16 HTML / CSS
HTML5中实现拖放效果无须借助javascript
2012/12/26 HTML / CSS
运动鞋、足球鞋和慕尼黑球衣:Sport Münzinger
2019/08/26 全球购物
vue项目实现分页效果
2021/03/24 Vue.js
费用会计岗位职责
2014/01/01 职场文书
大学学习委员竞选稿
2015/11/20 职场文书
win10搭建配置ftp服务器的方法
2022/08/05 Servers