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']