3
假設我有一個博客模式限制從改變模型
class Blog(models.Model):
author = models.ForeignKey(User)
title = models.CharField(max_length=250, unique=True)
body = models.TextField()
我有保證,讓用戶可以更改模型管理的某些領域(許可)Django的員工用戶該博客:
class BlogAdmin(admin.ModelAdmin):
def has_add_permission(self, request):
return request.user.groups.filter(name='author').exists()
def has_change_permission(self, request, obj=None):
return request.user.groups.filter(name='editor').exists() or (request.user.groups.filter(name='author').exists() and Blog.objects.filter(pk=obj, author=request.user).count() >0)
def has_delete_permission(self, request, obj=None):
return request.user.groups.filter(name='editor').exists() or (request.user.groups.filter(name='author').exists() and Blog.objects.filter(pk=obj, author=request.user).count() >0)
但是我想限制一組用戶改變Blog模型的字段,說'作者'組不能通過管理面板改變作者的字段。
我該怎麼做?先謝謝了。
您也可以使用''get_readonly_fields()'':https://docs.djangoproject.com/en/1.7/ref/contrib/ admin /#django.contrib.admin.ModelAdmin.get_readonly_fields,以使該字段的UI不可修改 – gipi