我想在Django中为我的Entity模型实现对象级权限系统。 所以我有一个PermissionEntity模型:
class PermissionEntity(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
entity = models.ForeignKey(Entity, on_delete=models.CASCADE, null=True, blank=True)
crud = models.ForeignKey(Crud, on_delete=models.CASCADE) # Create/Read/Update/Delete
在我的登录页面上,我存储了用户的会话权限。登录视图具有以下代码:
permission_entity = PermissionEntity.objects.filter(user_id = user.id)
permission_entity = serializers.serialize('json', permission_entity)
request.session ['permission_entity'] = permission_entity
我想在我的视图中获取允许的实体列表:
def entity_list(request):
permission_entity = serializers.deserialize('json', request.session ['permission_entity'])
entity_list = Entity.objects.filter(pk__in=permission_entity.entity_id)
我知道当前视图不正确,但是在这种情况下我不知道如何处理反序列化的对象。还是我以错误的方式?