我正在开发一个Django项目,在这个项目中,我希望允许用户仅在add_视图上编辑特定字段。所以我重写了管理员py所以它可以在那里设置我的只读字段。但是Django不会显示readonly\u字段。在
对我来说,没有显示只读字段似乎真的很难。我的意思是,如果它是只读的,它说读的部分在哪里?它应该是可读的(仅限),而不是可编辑的。如果我想隐藏它,应该有一个名为hidden_fields之类的选项。你们不同意吗?在
我想知道是否有任何捷径可以让只读的_字段在我的管理上可见,但不可编辑。在
从django.contrib公司导入管理员 从核心模型导入框
class BoxAdmin(admin.ModelAdmin):
def change_view(self, request, object_id, form_url='', extra_context=None):
self.readonly_fields = ('colour',)
return super(BoxAdmin, self).change_view(request, object_id)
def add_view(self, request, form_url='', extra_context=None):
self.readonly_fields = []
return super(BoxAdmin, self).add_view(request, extra_context=c)
您应该重写^{} ,而不是设置^{cd1>}。在
我发现了问题,而这正是由于我的注意力不够。实际上Django确实显示readonly_字段,但我看不到,因为它们显示在表单的底部。当你不设置ModelForm.fields属性是它们到了底部,这和我的情况差不多。在
相关问题 更多 >
编程相关推荐