我在 Django Admin 中有一个内联表单。当用户编辑模型表单时,所有以前填写的内联表单也会被列出。我只想让用户查看以前填写的内联表单并使其不可编辑。但是用户可以添加另一个表单。
我尝试使用 editable=False 但这不允许我填写新表格。
我在 Django Admin 中有一个内联表单。当用户编辑模型表单时,所有以前填写的内联表单也会被列出。我只想让用户查看以前填写的内联表单并使其不可编辑。但是用户可以添加另一个表单。
我尝试使用 editable=False 但这不允许我填写新表格。
我认为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]