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实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
Jun 04 Python
python获取外网ip地址的方法总结
Jul 02 Python
Python实现二维数组输出为图片
Apr 03 Python
实例讲解Python爬取网页数据
Jul 08 Python
用Python实现筛选文件脚本的方法
Oct 27 Python
使用Python正则表达式操作文本数据的方法
May 14 Python
django的model操作汇整详解
Jul 26 Python
linux下python中文乱码解决方案详解
Aug 28 Python
python如何通过pyqt5实现进度条
Jan 20 Python
Python计算指定日期是今年的第几天(三种方法)
Mar 26 Python
python属于哪种语言
Aug 16 Python
python连接mysql数据库并读取数据的实现
Sep 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 程式大小
2006/12/06 PHP
php中计算时间差的几种方法
2009/12/31 PHP
php小技巧 把数组的键和值交换形成了新的数组,查找值取得键
2011/06/02 PHP
PHP实例分享判断客户端是否使用代理服务器及其匿名级别
2014/06/04 PHP
CodeIgniter框架过滤HTML危险代码
2014/06/12 PHP
PHP sleep()函数, usleep()函数
2016/08/25 PHP
php利用嵌套数组拼接与解析json的方法
2017/02/07 PHP
THREE.JS入门教程(5)你应当知道的十件事
2013/01/24 Javascript
js/jQuery对象互转(快速操作dom元素)
2013/02/04 Javascript
Json字符串转换为JS对象的高效方法实例
2013/05/01 Javascript
js函数返回多个返回值的示例代码
2013/11/05 Javascript
js仿QQ中对联系人向左滑动、滑出删除按钮的操作
2016/04/07 Javascript
es6的数字处理的方法(5个)
2017/03/16 Javascript
jQuery实现移动端下拉展现新的内容回弹动画
2020/06/24 jQuery
详解 javascript对象创建模式
2020/10/30 Javascript
antd多选下拉框一行展示的实现方式
2020/10/31 Javascript
Python解释执行原理分析
2014/08/22 Python
python实现的系统实用log类实例
2015/06/30 Python
Python文件操作基本流程代码实例
2017/12/11 Python
python 获取键盘输入,同时有超时的功能示例
2018/11/13 Python
在python中实现强制关闭线程的示例
2019/01/22 Python
python实现维吉尼亚加密法
2019/03/20 Python
Python中print和return的作用及区别解析
2019/05/05 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
2019/05/27 Python
Django外键(ForeignKey)操作以及related_name的作用详解
2019/07/29 Python
Django为窗体加上防机器人的验证码功能过程解析
2019/08/14 Python
python rsync服务器之间文件夹同步脚本
2019/08/29 Python
tensorflow如何批量读取图片
2019/08/29 Python
Python迭代器Iterable判断方法解析
2020/03/16 Python
深入浅析pycharm中 Make available to all projects的含义
2020/09/15 Python
公民授权委托书
2014/10/15 职场文书
护士医德考评自我评价
2015/03/03 职场文书
js Proxy的原理详解
2021/05/25 Javascript
Python合并多张图片成PDF
2021/06/09 Python
基于Redis6.2.6版本部署Redis Cluster集群的问题
2022/04/01 Redis
Redis如何实现验证码发送 以及限制每日发送次数
2022/04/18 Redis