2013-08-31 36 views
0

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

我试过使用editable = False,但是这不允许我填写新的表单。

enter image description here

+1

大概没有(还):HTTPS ://code.djangoproject.com/ticket/15602 – chlunde

+0

@ user2716201关于我如何实现这一点的任何想法? –

回答

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] 
+0

谢谢......这与我所需要的非常接近。 –