时间:2021-05-22
问题描述:
我有个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-8from django.contrib import adminfrom 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 在修改/添加表单界面显示额外字段的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在django中我们可以在admin.py中添加ModelAdmin,这样就能很方便地在后台进行增删改查的操作。然而,对应Model生成的表单,并不友好,我们希
简述:Django的admin可以提供一个强大的后台管理功能,可以在web界面对数据库进行操作,我们需要修改admin.py将要操作的数据表注册到后台管理中创建
djangoadmin提供了完善的用户管理和数据模型管理,方便实用。研究了一下在admin里面添加自己的页面。在admin.py里继承django.contri
本文实例为大家分享了python实现银行系统的具体代码,供大家参考,具体内容如下1、admin.py定义管理员信息和主界面显示#!/usr/bin/envpyt
1、将添加blog的后台基本操作在blog文件夹下新建一个admin.py文件加入一下代码:fromdjango.contribimportadminfromd