Django使用会话中的反序列化数据过滤查询集

时间:2019-03-02 17:25:06

标签: python django

我想在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)

我知道当前视图不正确,但是在这种情况下我不知道如何处理反序列化的对象。还是我以错误的方式?

0 个答案:

没有答案