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 相关文章推荐
MySQL中表的复制以及大型数据表的备份教程
Nov 25 Python
python使用pygame框架实现推箱子游戏
Nov 20 Python
Python3实现从排序数组中删除重复项算法分析
Apr 03 Python
python实现键盘输入的实操方法
Jul 16 Python
django的auth认证,authenticate和装饰器功能详解
Jul 25 Python
Django的性能优化实现解析
Jul 30 Python
通过 Django Pagination 实现简单分页功能
Nov 11 Python
Python内置加密模块用法解析
Nov 25 Python
Python序列化pickle模块使用详解
Mar 05 Python
python修改linux中文件(文件夹)的权限属性操作
Mar 05 Python
python3.7.3版本和django2.2.3版本是否可以兼容
Sep 01 Python
python把一个字符串切开的实例方法
Sep 27 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数组转换js数组操作及json_encode的用法详解
2013/10/26 PHP
YII模块实现绑定二级域名的方法
2014/07/09 PHP
php实现微信发红包
2015/12/05 PHP
PHP实现截取中文字符串不出现?号的解决方法
2016/12/29 PHP
如何在PHP中使用AES加密算法加密数据
2020/06/24 PHP
关于Blog顶部的滚动导航条代码
2006/09/25 Javascript
Jquery升级新版本后选择器的语法问题
2010/06/02 Javascript
jQuery基本选择器选择元素使用介绍
2013/04/18 Javascript
jquery教程限制文本框只能输入数字和小数点示例分享
2014/01/13 Javascript
深入理解JavaScript系列(49):Function模式(上篇)
2015/03/04 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(基于jquery)
2015/11/18 Javascript
jQuery实现的tab标签切换效果示例
2016/09/05 Javascript
angular select 默认值设置方法
2017/06/23 Javascript
js精确的加减乘除实例
2017/11/14 Javascript
五步轻松实现JavaScript HTML时钟效果
2020/03/25 Javascript
在vue-cli中组件通信的方法
2017/12/16 Javascript
vue实现未登录跳转到登录页面的方法
2018/07/17 Javascript
基于vue2.0的活动倒计时组件countdown(附源码下载)
2018/10/09 Javascript
vue 实现走马灯效果
2019/10/28 Javascript
Python Mysql数据库操作 Perl操作Mysql数据库
2009/01/12 Python
Python3使用requests登录人人影视网站的方法
2016/05/11 Python
Python实现列表删除重复元素的三种常用方法分析
2017/11/24 Python
python自动化生成IOS的图标
2018/11/13 Python
python实现全盘扫描搜索功能的方法
2019/02/14 Python
keras 自定义loss层+接受输入实例
2020/06/28 Python
Java爬虫技术框架之Heritrix框架详解
2020/07/22 Python
基础的CSS3弹性盒Flexbox布局使用实例
2016/04/08 HTML / CSS
Pandora西班牙官方商店:PandoraShop.es
2020/10/05 全球购物
犹他州最古老的体育用品公司:Al’s
2020/12/18 全球购物
Servlet方面面试题
2016/09/28 面试题
商务英语专业求职信范文
2014/01/28 职场文书
求职信范文大全
2014/05/26 职场文书
重阳节演讲稿:尊敬帮助老人 弘扬传统美德
2014/09/25 职场文书
交通事故赔偿协议书
2014/10/16 职场文书
个人作风建设心得体会
2014/10/22 职场文书
Python实现提取PDF简历信息并存入Excel
2022/04/02 Python