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调用shell的方法
Nov 20 Python
总结python实现父类调用两种方法的不同
Jan 15 Python
Python字符串格式化的方法(两种)
Sep 19 Python
利用python爬取斗鱼app中照片方法实例
Dec 03 Python
python获取酷狗音乐top500的下载地址 MP3格式
Apr 17 Python
pandas的唯一值、值计数以及成员资格的示例
Jul 25 Python
使用matplotlib中scatter方法画散点图
Mar 19 Python
解决django model修改添加字段报错的问题
Nov 18 Python
django正续或者倒序查库实例
May 19 Python
浅析Python打包时包含静态文件处理方法
Jan 15 Python
python-jwt用户认证食用教学的实现方法
Jan 19 Python
基于注解实现 SpringBoot 接口防刷的方法
Mar 02 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/06/02 PHP
不使用php api函数实现数组的交换排序示例
2014/04/13 PHP
ThinkPHP3.1新特性之G方法的使用
2014/06/19 PHP
php实现的太平洋时间和北京时间互转的自定义函数分享
2014/08/19 PHP
Laravel中基于Artisan View扩展包创建及删除应用视图文件的方法
2016/10/08 PHP
Thinkphp5.0框架视图view的循环标签用法示例
2019/10/12 PHP
JavaScript跨浏览器获取页面中相同class节点的方法
2015/03/03 Javascript
js实现交换运动效果的方法
2015/04/10 Javascript
jQuery插件pagination实现分页特效
2015/04/12 Javascript
js实现鼠标滑过文字链接色彩变化的效果
2015/05/06 Javascript
JavaScript基础篇(3)之Object、Function等引用类型
2015/11/30 Javascript
基于jQuery实现表格的查看修改删除
2016/08/01 Javascript
js 判断数据类型的几种方法
2017/01/13 Javascript
微信小程序实现瀑布流布局与无限加载的方法详解
2017/05/12 Javascript
详解React中的组件通信问题
2017/07/31 Javascript
JS路由跳转的简单实现代码
2017/09/21 Javascript
JavaScript插件Tab选项卡效果
2017/11/14 Javascript
NodeJs之word文件生成与解析的实现代码
2019/04/01 NodeJs
使用原生js编写一个简单的框选功能方法
2019/05/13 Javascript
微信小程序点击按钮动态切换input的disabled禁用/启用状态功能
2020/03/07 Javascript
Vue.js暴露方法给WebView的使用操作
2020/09/07 Javascript
[02:58]魔廷新尊——痛苦女王至宝语音台词节选
2020/06/14 DOTA
用pycharm开发django项目示例代码
2018/10/24 Python
Python 从列表中取值和取索引的方法
2018/12/25 Python
python opencv 二值化 计算白色像素点的实例
2019/07/03 Python
解决django-xadmin列表页filter关联对象搜索问题
2019/11/15 Python
python自动识别文本编码格式代码
2019/12/26 Python
简述Html5 IphoneX 适配方法
2018/02/08 HTML / CSS
ALDO加拿大官网:加拿大女鞋品牌
2018/12/22 全球购物
12岁生日感言
2014/01/21 职场文书
农村面貌改造提升实施方案
2014/03/18 职场文书
羽毛球社团活动总结
2014/06/27 职场文书
立春观后感
2015/06/18 职场文书
班主任经验交流心得体会
2015/11/02 职场文书
导游词之上海豫园
2019/10/24 职场文书
python中的None与NULL用法说明
2021/05/25 Python