Hi,

In general you shouldn't be even trying to do this in admin since it's not designed for this kind of functionality.

Admin is just a datacentric tool to view your data. It's never been meant to help implementing any businesslogic. And basically you only should let people in admin that you trust full 100%.

If you can't trust them (which is indicated by "readonly field" requirement) you should do custom view and templates for that. Generic class based views can greatly help you to achieve it, and most probably with really less effort than trying to do that in admin.


On 18.11.2015 12:15, Victor wrote:
Dear experts,

models.py

class Book(models.Model):
     title = models.CharField(max_length=100)
     author = models.CharField(max_length=100)
     quantity = models.IntegerField(db_column='quantitity',default=0)
     class Meta:
         db_table="book"

admin.py

class BookOption(admin.ModelAdmin):
     list_display = ('title', 'author', 'quantity')
     fields=(('title', 'author'), ('quantity'))
     order_by= ['title', ]

admin.site.register(Book,BookOption)


I'm trying to explain my problem with the simple example above.
Let's suppose that I have two staff users 'victor' and 'roby' and I want that 
the fields 'author and 'quantity' be readonly when user 'roby' is logged in and 
readwrite for user 'victor'
How can I achieve this result if possible with something of the following 
simple kind


class BookOption(admin.ModelAdmin):
     if (user is 'roby'):
        readonly_fields=['quantity',]
     list_display = ('title', 'author', 'quantity')
     fields=(('title', 'author'), ('quantity'))
     order_by= ['title', ]
Thanks
Vittorio

--

Jani Tiainen

--
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 django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
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/564C5123.1020501%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to