count livestocks by type & set in herd model by signals
This commit is contained in:
@@ -4,8 +4,9 @@ from apps.authentication.api.v1.serializers.serializer import (
|
||||
ProvinceSerializer,
|
||||
CitySerializer
|
||||
)
|
||||
from rest_framework import serializers
|
||||
from apps.herd.exception import HerdCapacityException
|
||||
from apps.herd.models import Herd, Rancher
|
||||
from rest_framework import serializers
|
||||
|
||||
|
||||
class HerdSerializer(serializers.ModelSerializer):
|
||||
@@ -14,6 +15,14 @@ class HerdSerializer(serializers.ModelSerializer):
|
||||
model = Herd
|
||||
fields = '__all__'
|
||||
|
||||
def validate(self, attrs):
|
||||
""" some validations for herd """
|
||||
|
||||
if attrs['heavy_livestock_number'] + attrs['light_livestock_number'] > attrs['capacity']:
|
||||
raise HerdCapacityException()
|
||||
|
||||
return attrs
|
||||
|
||||
def to_representation(self, instance):
|
||||
""" Customize serializer output """
|
||||
representation = super().to_representation(instance)
|
||||
|
||||
Reference in New Issue
Block a user