将模型条目限制为作者
Restrict model entries to author
我有用户添加组织的模型,如何限制他们只能访问用户创建的组织? (限制包括查看和编辑)。
示例:
User1 add Organization1
User2 add Organization2
User1 must see and edit only Organization1
User2 must see and edit only Organization2
models.py
class Organization (models.Model):
enumerator_name = models.ForeignKey(User)
org_name = models.CharField(max_length=255)
admin.py
class OrganizationAdmin(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
obj.enumerator_name = request.user
obj.save()
已解决,不确定是不是正确的方法,但它确实如我所愿。
class OrganizationAdmin(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
obj.enumerator_name = request.user
obj.save()
def get_queryset(self, request):
method = getattr(
super(PeopleAdmin, self), 'get_queryset',
getattr(super(PeopleAdmin, self), 'queryset', None))
qs = method(request)
return qs.filter(enumerator_name=request.user)
我有用户添加组织的模型,如何限制他们只能访问用户创建的组织? (限制包括查看和编辑)。
示例:
User1 add Organization1
User2 add Organization2
User1 must see and edit only Organization1
User2 must see and edit only Organization2
models.py
class Organization (models.Model):
enumerator_name = models.ForeignKey(User)
org_name = models.CharField(max_length=255)
admin.py
class OrganizationAdmin(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
obj.enumerator_name = request.user
obj.save()
已解决,不确定是不是正确的方法,但它确实如我所愿。
class OrganizationAdmin(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
obj.enumerator_name = request.user
obj.save()
def get_queryset(self, request):
method = getattr(
super(PeopleAdmin, self), 'get_queryset',
getattr(super(PeopleAdmin, self), 'queryset', None))
qs = method(request)
return qs.filter(enumerator_name=request.user)