Анотация в сериализаторе работает неправильно

предположить

[
{"folder": "cs", "post": {"id": "jqux3ipm", "content": "content", "username": "username",  "liked": false, "saved": false, "seen": false}, "liked": true, "saved": true, "seen": false},
]

Как преобразовать в

?
[
{"folder": "cs", "post": {"id": "jqux3ipm", "content": "content", "username": "username", "liked": true, "saved": true, "seen": false},
]

модели

class Post(models.Model):
    content = ...
    ...

class SavedPost(models.Model):
    user = models.ForeignKey(User,...)
    post = models.ForeignKey(Post,...)

class LikedPost(models.Model):
    user = models.ForeignKey(...)
    post = models.ForeignKey(Post,...)

Сериализатор, который я использую

class SavedPostSerializer(serializers.ModelSerializer):
    seen = serializers.BooleanField(default=True, read_only=True)
    liked = serializers.BooleanField(default=False, read_only=True)
    saved = serializers.BooleanField(default=True, read_only=True)
    post = PostSerializer(read_only=True)

    class Meta:
        model = SavedPost
        fields = ("folder", "post", "liked", "saved", "seen")

view

@login_required()
def GetSavedPost(request):
    obj = SavedPost.objects.select_related("post").annotate(
        liked=Exists(LikedPost.objects.filter(
            user=request.user, post_id=OuterRef('post_id'))),
        saved=Exists(SavedPost.objects.filter(
            user=request.user, post_id=OuterRef('post_id')))
    ).filter(user_id=request.user.id)
    serializer = SavedPostSerializer(obj, many=True)
    result = JsonResponse(serializer.data, safe=False)
    return result

Все, что я хочу, это показать некоторое поле анотации, используя определенный сериализатор и дополнительное поле, т.е. cs.

Заранее спасибо!

Вернуться на верх