我们从Python开源项目中,提取了以下3个代码示例,用于说明如何使用rest_framework.serializers.ListField()。
def typemap(self, p): mapping = { ParameterType.String : serializers.CharField, ParameterType.Number : serializers.FloatField, ParameterType.Integer : serializers.IntegerField, ParameterType.Boolean : serializers.BooleanField, ParameterType.Array : serializers.ListField, ParameterType.Enum : serializers.ChoiceField, ParameterType.File : serializers.FileField } return mapping.get(p, None) # TODO: properly handle array and enums
def test_should_list_convert_to_list(): class StringListField(serializers.ListField): child = serializers.CharField() field_a = assert_conversion( serializers.ListField, graphene.List, child=serializers.IntegerField(min_value=0, max_value=100) ) assert field_a.of_type == graphene.Int field_b = assert_conversion(StringListField, graphene.List) assert field_b.of_type == graphene.String
def __init__(self, allow_extra): class Model(serializers.Serializer): id = serializers.IntegerField() client_name = serializers.CharField(max_length=255) sort_index = serializers.FloatField() # client_email = serializers.EmailField(required=False, allow_null=True) client_phone = serializers.CharField(max_length=255, required=False, allow_null=True) class Location(serializers.Serializer): latitude = serializers.FloatField(required=False, allow_null=True) longitude = serializers.FloatField(required=False, allow_null=True) location = Location(required=False, allow_null=True) contractor = serializers.IntegerField(required=False, allow_null=True, min_value=0) upstream_http_referrer = serializers.CharField(max_length=1023, required=False, allow_null=True) grecaptcha_response = serializers.CharField(min_length=20, max_length=1000) last_updated = serializers.DateTimeField(required=False, allow_null=True) class Skill(serializers.Serializer): subject = serializers.CharField() subject_id = serializers.IntegerField() category = serializers.CharField() qual_level = serializers.CharField() qual_level_id = serializers.IntegerField() qual_level_ranking = serializers.FloatField(default=0) skills = serializers.ListField(child=Skill()) self.allow_extra = allow_extra # unused self.serializer = Model