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列表操作使用示例分享
Feb 21 Python
使用Python中PDB模块中的命令来调试Python代码的教程
Mar 30 Python
Python使用pymysql小技巧
Jun 04 Python
python使用tkinter实现简单计算器
Jan 30 Python
Sanic框架流式传输操作示例
Jul 18 Python
python 实现矩阵上下/左右翻转,转置的示例
Jan 23 Python
Python中捕获键盘的方式详解
Mar 28 Python
TensorFlow 显存使用机制详解
Feb 03 Python
Python自动采集微信联系人的实现示例
Feb 28 Python
Python实现捕获异常发生的文件和具体行数
Apr 25 Python
Pycharm Git 设置方法
Sep 15 Python
python实现视频压缩功能
Dec 18 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
解析dedecms空间迁移步骤详解
2013/05/15 PHP
解析PHP 5.5 新特性
2013/07/02 PHP
PHP的Yii框架使用中的一些错误解决方法与建议
2015/08/21 PHP
php中的钩子理解及应用实例分析
2019/08/30 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
2019/10/08 PHP
Add Formatted Text to a Word Document
2007/06/15 Javascript
javascript基本语法分析说明
2008/06/15 Javascript
用JQuery 实现AJAX加载XML并解析的脚本
2009/07/25 Javascript
JavaScript(js)设置默认输入焦点(focus)
2012/12/28 Javascript
判断一个对象是否为jquery对象的方法
2014/03/12 Javascript
js显示文本框提示文字的方法
2015/05/07 Javascript
基于PHP和Mysql相结合使用jqGrid读取数据并显示
2015/12/02 Javascript
基于javascript实现listbox左右移动
2016/01/29 Javascript
在Vue项目中引入腾讯验证码服务的教程
2018/04/03 Javascript
vue router动态路由下让每个子路由都是独立组件的解决方案
2018/04/24 Javascript
C#程序员入门学习微信小程序的笔记
2019/03/05 Javascript
ES6中的类(Class)示例详解
2020/12/09 Javascript
[01:12:44]VG vs Mineski Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
Python创建xml的方法
2015/03/10 Python
Python编程中用close()方法关闭文件的教程
2015/05/24 Python
python制作企业邮箱的爆破脚本
2016/10/05 Python
pandas.DataFrame.to_json按行转json的方法
2018/06/05 Python
详解Python二维数组与三维数组切片的方法
2019/07/18 Python
Django1.11配合uni-app发起微信支付的实现
2019/10/12 Python
python3 xpath和requests应用详解
2020/03/06 Python
Python实现敏感词过滤的4种方法
2020/09/12 Python
巴西网上药房:onofre
2016/11/21 全球购物
农行实习自我鉴定
2013/09/22 职场文书
大学同学聚会邀请函
2014/01/29 职场文书
英语国培研修感言
2014/02/13 职场文书
个人剖析材料及整改措施
2014/10/07 职场文书
单位实习鉴定评语
2015/01/04 职场文书
表扬稿格式范文
2015/01/16 职场文书
学校禁毒宣传活动总结
2015/05/08 职场文书
使用pandas模块实现数据的标准化操作
2021/05/14 Python
详解CSS3.0(Cascading Style Sheet) 层叠级联样式表
2021/07/16 HTML / CSS