我在Django Admin中有一个内联表单。当用户编辑模型表单时,还会列出所有先前填充的内联表单。我只是想让用户查看以前填充的内联表单并使其无法编辑。但是用户可以添加另一个表单。
我尝试使用editable = False,但这不允许我填写新表单。
答案 0 :(得分:1)
我认为https://code.djangoproject.com/ticket/15602阻止你做你想做的事。
如果你将它分成两个内联管理员,一个用于列表,一个用于添加,你可以实现你想要的,但我不喜欢这个解决方案:
class CommentListInline(admin.TabularInline):
model = Comment
fields = ('comment',)
readonly_fields = fields
extra = 0
can_delete = False
def has_add_permission(self, request):
return False
class CommentAddInline(admin.TabularInline):
model = Comment
fields = ('comment',)
extra = 1
can_delete = False
def has_change_permission(self, request, obj=None):
return False
class PageAdmin(admin.ModelAdmin):
inlines = [CommentListInline, CommentAddInline]