2013-08-31 2 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

Спасибо ... это очень близко к тому, что мне нужно. –

Смежные вопросы