对于添加文章之后,想每个用户只维护他们自己的文章,对于这个需求,django admin的全局权限设置做不到,需要在数据库中增加识别字段,例如
使用用户识别,
添加用户字段
models.py
from django.contrib.auth.models import User
author = models.ForeignKey(User,on_delete=models.CASCADE,editable=False)
admin.py
def get_queryset(self,request):
qs = super(AuthorAdmin,self).get_queryset(request)
if request.user.is_superuser:
return qs
return qs.filter(author=request.user)
def save_model(self,request,obj,form,change):
obj.author = request.user
obj.save()
这样,就可以在后台每个用户维护自己的文章了。
没有评论:
发表评论