The same occur when use "exclude = (att1,att2..)" because the fields are mandatory.
I only need to update a model (not add, nor delete) whith a subset of editable fields, if i'm not superuser. On 22 feb, 19:10, Mario8k <mm...@8ksoft.com.ar> wrote: > Hi, > > Trying to make a custom model admin form for a staff user (not a > superuser), I had to override ModelAdmin.get_readonly_fields() and > ModelAdmin.get_fieldsets(). The problem arrives when i try to change > the data of a model record, because the field is mandatory > (blank=False, as default). When i submit the form, i got an error on > top of the form, without any specification. In spanish "Por favor, > corrija los siguientes errores.", i think in english "Please, fix the > errors". > > For example, > > in models.py > > Class Foo(model.Models): > name = models.CharField(max_length=100) > other = models.CharField(max_length=100) > ... > ... > > in admin.py > > class FooAdmin(admin.ModelAdmin): > fieldsets = [ > ('Data 1', {'fields': ['name',...]}), > ('Data 2', {'fields': ['other',..]}), > ] > fieldsets_custom= [ > ('Data 1', {'fields': ['name',..]}), > ('Data 2', {'fields': ['other',...]}), > ] > readonly_fields_custom = ('name',) > > def get_readonly_fields(self, request, obj=None): > if (request.user.is_superuser): > return self.readonly_fields > else: > return self.readonly_fields_custom > > def get_fieldsets(self, request, obj=None): > if (request.user.is_superuser): > return super(FooAdmin, self).get_fieldsets(request, > obj=None) > else : > return self.fieldsets_custom > > Any idea? > Can i override clean() to avoid validation over name field? > Other idea to got a custom admin form with readonly mandatory fields > (an exclude some others)? > > Thanx, Mario. -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.