from rest_framework.serializers import (
ModelSerializer,
SerializerMethodField,
IntegerField,
)
from library_sample_shared.serializers import LibrarySampleBaseSerializer
from sample.models import NucleicAcidType, Sample
class NucleicAcidTypeSerializer(ModelSerializer):
class Meta:
model = NucleicAcidType
fields = ('id', 'name', 'type',)
class SampleSerializer(LibrarySampleBaseSerializer):
pk = IntegerField(required=False)
record_type = SerializerMethodField()
nucleic_acid_type_name = SerializerMethodField()
class Meta(LibrarySampleBaseSerializer.Meta):
model = Sample
fields = LibrarySampleBaseSerializer.Meta.fields + \
('pk', 'record_type', 'is_converted', 'rna_quality',
'nucleic_acid_type', 'nucleic_acid_type_name',)
def get_record_type(self, obj):
return 'Sample'
def get_nucleic_acid_type_name(self, obj):
return obj.nucleic_acid_type.name