您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
小编给大家分享一下Django中admin.py如何在修改/添加表单界面显示额外字段,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
问题描述:
我有个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如何在修改/添加表单界面显示额外字段”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。