feat: added product batches and provider models
This commit is contained in:
+59
-22
@@ -1,28 +1,16 @@
|
||||
from rest_framework import serializers
|
||||
|
||||
from files.api.v1.serializers import FileUploadSerializer
|
||||
from shop.models import Product, ProductPrice, Customer, Tax, OrderLine, Order
|
||||
|
||||
|
||||
class ProductSerializer(serializers.ModelSerializer):
|
||||
images = FileUploadSerializer(many=True, read_only=True)
|
||||
price = serializers.SerializerMethodField()
|
||||
|
||||
def get_price(self, product):
|
||||
last_price = product.prices.last()
|
||||
|
||||
return ProductPriceSerializer(last_price).data
|
||||
|
||||
class Meta:
|
||||
model = Product
|
||||
fields = (
|
||||
"name",
|
||||
"description",
|
||||
"stock",
|
||||
"is_digital_asset",
|
||||
"images",
|
||||
"price",
|
||||
)
|
||||
from shop.models import (
|
||||
Product,
|
||||
ProductPrice,
|
||||
Customer,
|
||||
Tax,
|
||||
OrderLine,
|
||||
Order,
|
||||
ProductBatch,
|
||||
Provider,
|
||||
)
|
||||
|
||||
|
||||
class TaxSerializer(serializers.ModelSerializer):
|
||||
@@ -47,6 +35,39 @@ class ProductPriceSerializer(serializers.ModelSerializer):
|
||||
)
|
||||
|
||||
|
||||
class ProductSerializer(serializers.ModelSerializer):
|
||||
images = FileUploadSerializer(many=True, read_only=True)
|
||||
price = ProductPriceSerializer()
|
||||
|
||||
def get_price(self, product):
|
||||
last_price = product.prices.last()
|
||||
|
||||
return ProductPriceSerializer(last_price).data
|
||||
|
||||
class Meta:
|
||||
model = Product
|
||||
fields = (
|
||||
"name",
|
||||
"description",
|
||||
"stock",
|
||||
"is_digital_asset",
|
||||
"images",
|
||||
"price",
|
||||
)
|
||||
|
||||
|
||||
class ProductBatchSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = ProductBatch
|
||||
fields = (
|
||||
"code",
|
||||
"product",
|
||||
"quantity",
|
||||
"creation_date",
|
||||
"expiration_date",
|
||||
)
|
||||
|
||||
|
||||
class CustomerSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Customer
|
||||
@@ -63,6 +84,22 @@ class CustomerSerializer(serializers.ModelSerializer):
|
||||
)
|
||||
|
||||
|
||||
class ProviderSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Provider
|
||||
fields = (
|
||||
"vat_id",
|
||||
"name",
|
||||
"email",
|
||||
"phone",
|
||||
"address",
|
||||
"city",
|
||||
"state",
|
||||
"country",
|
||||
"zip",
|
||||
)
|
||||
|
||||
|
||||
class OrderSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Order
|
||||
|
||||
Reference in New Issue
Block a user