将模型条目限制为作者

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)