Данные объекта становятся пустыми после сериализации

    user = User.objects.filter(id=payload['id']).first()

carts = AddToCart.objects.filter(user=user)

sum_price = 0
for i in carts:
    sum_price += int(i.product.price)

context = {
    'carts': carts,
    'sum_price': sum_price,
}
print(context)

serializer = AddToCartSerializer(context, many=True)
return Response(serializer.data)

**печатный 'контекст' в терминале выглядит следующим образом {'carts': <QuerySet [<AddToCart: AddToCart object (3)>]>, 'sum_price': 100}. Но после сериализации он становится пустым. Кто-нибудь может мне помочь? **

Это выход в почтальоне

[
{},
{}
]

AddToCart models.py

class AddToCart(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
product = models.ForeignKey(Product, on_delete=models.CASCADE)

AddToCartSerializer serializers.py

class AddToCartSerializer(serializers.ModelSerializer):
user = serializers.ReadOnlyField(source='User')
product = serializers.ReadOnlyField(source='Product')

class Meta:
    model = AddToCart
    fields = ['user', 'product']

Попробуйте следующий код.

views.py:

# context = {
#    'carts': carts,
#    'sum_price': sum_price,
# }
print('result1', carts)
serializer = AddToCartSerializer(carts, many=True)
data = {
    'carts': serializer.data,
    'sum_price': sum_price,
}
print('result2', data)
return Response(data)

serializers.py:

class AddToCartSerializer(serializers.ModelSerializer):
    class Meta:
        model = AddToCart
        fields = ['user', 'product']
        read_only_fields = ['user', 'product']
Вернуться на верх