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.