backend/inventory/serializers.py

35 lines
1.1 KiB
Python
Raw Normal View History

from rest_framework import serializers
from .models import Nomenclature, Sticker, StickerMovement
from datetime import date
class NomenclatureSerializer(serializers.ModelSerializer):
class Meta:
model = Nomenclature
fields = '__all__'
class StickerSerializer(serializers.ModelSerializer):
is_expired = serializers.SerializerMethodField()
is_expiring_soon = serializers.SerializerMethodField()
nomenclature_name = serializers.CharField(source="nomenclature.name", read_only=True)
nomenclature_gtin = serializers.CharField(source="nomenclature.gtin", read_only=True)
class Meta:
model = Sticker
fields = '__all__'
def get_is_expired(self, obj):
return obj.is_expired()
def get_is_expiring_soon(self, obj):
return obj.is_expiring_soon()
def to_representation(self, instance):
"""Обновляем статус при каждом запросе"""
instance.save()
return super().to_representation(instance)
class StickerMovementSerializer(serializers.ModelSerializer):
class Meta:
model = StickerMovement
fields = '__all__'