栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Django-覆盖get_form以根据请求自定义管理表单

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Django-覆盖get_form以根据请求自定义管理表单

我不知道为什么打印该属性不会给你想要分配的权限(我想可能完全取决于你打印的位置),但是尝试覆盖get_fieldsets。基本实现如下所示:

def get_fieldsets(self, request, obj=None):    if self.declared_fieldsets:        return self.declared_fieldsets    form = self.get_formset(request).form    return [(None, {'fields': form.base_fields.keys()})]

也就是说,你应该能够只返回你的元组。

由andybak编辑。4年后,当我尝试在另一个项目中做类似的事情时,我再次遇到了自己的问题。这次我采用了这种方法,尽管略作修改以避免重复字段集定义:

def get_fieldsets(self, request, obj=None):    # Add 'item_type' on add forms and remove it on changeforms.    fieldsets = super(ItemAdmin, self).get_fieldsets(request, obj)    if not obj: # this is an add form        if 'item_type' not in fieldsets[0][1]['fields']: fieldsets[0][1]['fields'] += ('item_type',)    else: # this is a change form        fieldsets[0][1]['fields'] = tuple(x for x in fieldsets[0][1]['fields'] if x!='item_type')    return fieldsets


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/390575.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号