From 72110cd19f2a3896d473945cbbb8e2897c721d0f Mon Sep 17 00:00:00 2001 From: Dana Lambert Date: Wed, 20 Oct 2021 12:37:45 +1300 Subject: [PATCH] Add all fields to plant serializer --- backend/right_tree/api/serializers.py | 36 +++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/backend/right_tree/api/serializers.py b/backend/right_tree/api/serializers.py index 15a6837..4e81450 100644 --- a/backend/right_tree/api/serializers.py +++ b/backend/right_tree/api/serializers.py @@ -1,9 +1,41 @@ from rest_framework import serializers -from right_tree.api.models import Plant +from right_tree.api.models import Plant, ToleranceLevel, SoilOrder, SoilVariant, EcologicalRegion + + +class ToleranceLevelSerializer(serializers.HyperlinkedModelSerializer): + class Meta: + model = ToleranceLevel + fields = ['level'] + + +class EcologicalRegionSerializer(serializers.HyperlinkedModelSerializer): + class Meta: + model = EcologicalRegion + fields = ['name'] + + +class SoilOrderSerializer(serializers.HyperlinkedModelSerializer): + class Meta: + model = SoilOrder + fields = ['name'] + + +class SoilVariantSerializer(serializers.HyperlinkedModelSerializer): + class Meta: + model = SoilVariant + fields = ['name'] + class PlantSerializer(serializers.HyperlinkedModelSerializer): id = serializers.ReadOnlyField() + water_tolerance = ToleranceLevelSerializer() + drought_tolerance = ToleranceLevelSerializer() + frost_tolerance = ToleranceLevelSerializer() + salinity_tolerance = ToleranceLevelSerializer() + ecological_regions = EcologicalRegionSerializer(many=True, read_only=True) + soil_order = SoilOrderSerializer(many=True, read_only=True) + soil_variants = SoilVariantSerializer(many=True, read_only=True) class Meta: model = Plant - fields = ['id', 'name'] + fields = '__all__'