class PatientSerializer(ModelSerializer): histories = RelatedField(many=True, read_only=True) class Meta: model = Patient fields = [ 'name', 'hkid', 'birthday', 'confirmed_day', 'case_num', 'histories' ]
class UnbookmarkPOISerializer(CreateOnlySerializer): """ Serializer for POI unbookmark. Involves: poi """ poi = RelatedField(queryset=POI.objects.all(), required=True) def create(self, validated_data): return UnbookmarkPOIAction(validated_data['poi'])
class ProductSerializer(ModelSerializer): """ Serializer class for the Product model. """ gittrees = RelatedField(many=True) class Meta: model = Product fields = ('name', 'description', 'gittrees')
class PackageSerializer(ModelSerializer): """ Serializer for the Package model. """ gittrees = RelatedField(source='gittree_set', many=True) class Meta: model = Package fields = ('name', 'gittrees')
class RatePOISerializer(CreateOnlySerializer): """ Serializer for POI rate. Involves: poi score """ poi = RelatedField(queryset=POI.objects.all(), required=True) score = IntegerField(min_value=0, max_value=10, required=True) def create(self, validated_data): return RatePOIAction(self.poi, self.score)
class GitTreeSerializer(ModelSerializer): """ Serializer class for the GitTree model. """ domain = DomainField(source='subdomain') licenses = SlugRelatedField(many=True, slug_field='shortname') packages = RelatedField(many=True) roles = RoleSetField(source='role_set') class Meta: model = GitTree fields = ('gitpath', 'domain', 'roles', 'packages', 'licenses')
class UserSerializer (BaseTwitterInfoSerializer): replies = MinimalReplySerializer(many=True, read_only=True) visions = MinimalVisionSerializer(many=True, read_only=True) supported = MinimalVisionSerializer(many=True, read_only=True) groups = RelatedField(many=True) class Meta: model = User fields = ('id', 'username', 'first_name', 'last_name', 'avatar_url', 'full_name', 'bio', 'groups', 'last_login', 'supported', 'replies', 'visions') def many_to_native(self, obj): return super(UserSerializer, self).many_to_native(obj)
class LocationSerializer(ModelSerializer): histories = RelatedField(many=True, read_only=True) class Meta: model = Location fields = ['name', 'address', 'district', 'coordinate', 'histories']