35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
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__'
|