From 661f7ae789b2b54e6e35050d0bcffb4b899b0b94 Mon Sep 17 00:00:00 2001 From: vabene1111 Date: Thu, 18 Mar 2021 20:34:37 +0100 Subject: [PATCH] fixed slice fix again --- cookbook/serializer.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/cookbook/serializer.py b/cookbook/serializer.py index 76def5491..fe2db4382 100644 --- a/cookbook/serializer.py +++ b/cookbook/serializer.py @@ -1,6 +1,7 @@ from decimal import Decimal from django.contrib.auth.models import User +from django.db.models import QuerySet from drf_writable_nested import (UniqueFieldsMixin, WritableNestedModelSerializer) from rest_framework import serializers @@ -44,11 +45,13 @@ class CustomDecimalField(serializers.Field): class SpaceFilterSerializer(serializers.ListSerializer): def to_representation(self, data): - if not data.query.is_sliced: # if query is sliced it came from api request not nested serializer - if self.child.Meta.model == User: - data = data.filter(userpreference__space=self.context['request'].space) - else: - data = data.filter(**{'__'.join(data.model.get_space_key()): self.context['request'].space}) + if type(data) == QuerySet and data.query.is_sliced: + # if query is sliced it came from api request not nested serializer + return super().to_representation(data) + if self.child.Meta.model == User: + data = data.filter(userpreference__space=self.context['request'].space) + else: + data = data.filter(**{'__'.join(data.model.get_space_key()): self.context['request'].space}) return super().to_representation(data)