fixed slice fix again

This commit is contained in:
vabene1111
2021-03-18 20:34:37 +01:00
parent 8bfbd96398
commit 661f7ae789

View File

@ -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)