我不知道为什么打印该属性不会给你想要分配的权限(我想可能完全取决于你打印的位置),但是尝试覆盖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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)