0

我在 Django Admin 中有一个内联表单。当用户编辑模型表单时,所有以前填写的内联表单也会被列出。我只想让用户查看以前填写的内联表单并使其不可编辑。但是用户可以添加另一个表单。

我尝试使用 editable=False 但这不允许我填写新表格。

在此处输入图像描述

4

1 回答 1

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]
于 2013-08-31T07:28:15.860 回答