views:

80

answers:

2

Hi all,

I have the following problem:

I have two models: Article and Comment, in Comments, i have parent = models.ForeignKey(Article). I have it set up so that Comments is inline to ArticleAdmin(admin.ModelAdmin), and CommentInline(admin.StackedInline). Also, all fields in CommentInline i've put into readonly_fields. What I would like to do is that in the admin interface, there is a button on the bottom of Article that says "Add another Artcile", and after clicking that button, you can add new comment. However, i would like to have all the old comments to be read only (no one can edit it in the admin site). Therefore, i would like to have a append only readonly design. Right now i have the readonly_field setup, and when i click on "Add another Comment", it doesn't allow me to edit anything.

anyone have any suggestion on how to go about accomplishing this?

Thank you very much for your help!

+1  A: 

How about doing a custom template that displays your comments and the rest of the form is then standard.
Here might be a good place to start: http://docs.djangoproject.com/en/dev/ref/contrib/admin/#custom-template-options

It seems this solution realy better and simplest than other....
Saff
A: 

you could override your inline admin's get_readonly_fields method:

    def get_readonly_fields(self, request, obj=None):
        if obj:
            return ('readonly_field1',......)
        else:
            return self.readonly_fields
lazerscience