feat(api): implement endpoints to products, customer and sales.

This commit is contained in:
2024-09-08 21:42:35 -05:00
parent eaa856e9da
commit 5adf9a9ce7
4 changed files with 71 additions and 8 deletions

View File

@@ -1,6 +1,6 @@
from rest_framework import serializers
from .models import Sale, SaleLine
from .models import Sale, SaleLine, Product, Customer
class SaleLineSerializer(serializers.ModelSerializer):
@@ -9,9 +9,31 @@ class SaleLineSerializer(serializers.ModelSerializer):
fields = ['id', 'sale', 'product', 'unit_price', 'quantity']
class SaleSerializer(serializers.ModelSerializer):
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']