On 11/08/2015 7:17 PM, Daniel Roseman wrote:
On Tuesday, 11 August 2015 06:24:32 UTC+1, Mike Dewhirst wrote: ÂThere is a get_read_only() method in the admin.ModelAdmin class. It normally returns self.readonly_fields but you can give it a callable. https://docs.djangoproject.com/en/1.8/ref/contrib/admin/#django.contrib.admin.ModelAdmin.get_readonly_fields <https://docs.djangoproject.com/en/1.8/ref/contrib/admin/#django.contrib.admin.ModelAdmin.get_readonly_fields> As well as defining any readonly fields (for everyone) you want something like ... def ro_fields(self, request, obj=None):    if obj is None or request.user.is_superuser:      return self.readonly_fields    else:      return self.model._meta.get_all_field_names() ... then get_readonly_fields = ro_fields should make it happen like your pseudocode. Mike Why do you define a separate method, then alias to get_readonly_fields? Why not override the method directly?
Because in some places/models in the admin I don't want to override the method; and in all (my) cases there needs to be readonly "modified" and "modified_by" fields for superusers as well.
Further, I put my ro_fields method in a common module and import it where required in a number of apps in that project.
Cheers Mike
-- Daniel. -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected] <mailto:[email protected]>. To post to this group, send email to [email protected] <mailto:[email protected]>. Visit this group at http://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/b43856c6-4e6f-435a-bee2-886110d2aa1a%40googlegroups.com <https://groups.google.com/d/msgid/django-users/b43856c6-4e6f-435a-bee2-886110d2aa1a%40googlegroups.com?utm_medium=email&utm_source=footer>. For more options, visit https://groups.google.com/d/optout.
-- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/55C9DC37.1040202%40dewhirst.com.au. For more options, visit https://groups.google.com/d/optout.

