Данные объекта становятся пустыми после сериализации
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']