don_confiao_backend/tienda_ilusion/don_confiao/serializers.py

40 lines
1.1 KiB
Python

from rest_framework import serializers
from .models import Sale, SaleLine, Product, Customer
class SaleLineSerializer(serializers.ModelSerializer):
class Meta:
model = SaleLine
fields = ['id', 'sale', 'product', 'unit_price', 'quantity']
class SaleWithLinesSerializer(serializers.ModelSerializer):
lines = SaleLineSerializer(many=True)
class Meta:
model = Sale
fields = ['id', 'customer', 'date', 'lines']
class SaleSerializer(serializers.ModelSerializer):
class Meta:
model = Sale
fields = ['id', 'customer', 'date']
def to_representation(self, instance):
representation = super().to_representation(instance)
representation['lines'] = [line for line in instance.saleline_set.all().values()]
return representation
class ProductSerializer(serializers.ModelSerializer):
class Meta:
model = Product
fields = ['name', 'price', 'measuring_unit', 'categories']
class CustomerSerializer(serializers.ModelSerializer):
class Meta:
model = Customer
fields = ['name', 'address']