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网络编程之UDP通信实例(含服务器端、客户端、UDP广播例子)
Apr 25 Python
python输出指定月份日历的方法
Apr 23 Python
Python 3.x 新特性及10大变化
Jun 12 Python
Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
Apr 23 Python
python语言使用技巧分享
May 31 Python
Python设计足球联赛赛程表程序的思路与简单实现示例
Jun 28 Python
Python numpy 点数组去重的实例
Apr 18 Python
OpenCV+python手势识别框架和实例讲解
Aug 03 Python
python爬虫 爬取超清壁纸代码实例
Aug 16 Python
python+Selenium自动化测试——输入,点击操作
Mar 06 Python
Python类的继承super相关原理解析
Oct 22 Python
Python一行代码实现自动发邮件功能
May 30 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中几个可以提高运行效率的代码写法、技巧分享
2014/08/21 PHP
PHP图形计数器程序显示网站用户浏览量
2016/07/20 PHP
php实现将数组或对象写入到文件的方法小结【三种方法】
2020/04/22 PHP
JSON传递bool类型数据的处理方式介绍
2013/09/18 Javascript
JQuery验证jsp页面属性是否为空(实例代码)
2013/11/08 Javascript
JS仿iGoogle自定义首页模块拖拽特效的方法
2015/02/13 Javascript
分享两段简单的JS代码防止SQL注入
2016/04/12 Javascript
使用jquery如何获取时间
2016/10/13 Javascript
nodejs之koa2请求示例(GET,POST)
2018/08/07 NodeJs
jQuery模拟html下拉多选框的原生实现方法示例
2019/05/30 jQuery
JavaScript面向对象中接口实现方法详解
2019/07/24 Javascript
JavaScript实现轮播图效果代码实例
2019/09/28 Javascript
ES5 模拟 ES6 的 Symbol 实现私有成员功能示例
2020/05/06 Javascript
[05:03]2018DOTA2亚洲邀请赛主赛事首日回顾
2018/04/04 DOTA
Python 时间操作例子和时间格式化参数小结
2014/04/24 Python
python中的hashlib和base64加密模块使用实例
2014/09/02 Python
Python自定义scrapy中间模块避免重复采集的方法
2015/04/07 Python
在Python中使用lambda高效操作列表的教程
2015/04/24 Python
python简单实现AES加密和解密
2019/03/28 Python
Python中单线程、多线程和多进程的效率对比实验实例
2019/05/14 Python
Python爬虫爬取Bilibili弹幕过程解析
2019/10/10 Python
Django ORM实现按天获取数据去重求和例子
2020/05/18 Python
tensorflow转换ckpt为savermodel模型的实现
2020/05/25 Python
keras打印loss对权重的导数方式
2020/06/10 Python
pytorch 常用函数 max ,eq说明
2020/06/28 Python
解决Django响应JsonResponse返回json格式数据报错问题
2020/08/09 Python
香港钟表珠宝首饰商城:OneMallTime网摩间
2016/10/14 全球购物
伦敦一家非常流行的时尚精品店:Oxygen Boutique
2017/01/15 全球购物
品学兼优的大学生自我评价
2013/09/20 职场文书
《都江堰》教学反思
2014/02/07 职场文书
房产代理公证处委托书
2014/04/04 职场文书
群众路线对照检查材料
2014/09/22 职场文书
毕业证代领委托书
2014/09/26 职场文书
关于工作经历的证明书
2014/10/11 职场文书
2015年学校安全工作总结
2015/04/22 职场文书
python神经网络学习 使用Keras进行简单分类
2022/05/04 Python