Python rest_framework.serializers 模块,CharField() 实例源码

我们从Python开源项目中,提取了以下18个代码示例,用于说明如何使用rest_framework.serializers.CharField()

项目:drf-friendly-errors    作者:FutureMind    | 项目源码 | 文件源码
def test_char_field_error_content(self):
        # Too long string
        self.data_set['title'] = 'Too Long Title For Defined Serializer'
        s = run_is_valid(SnippetSerializer, data=self.data_set)
        code = settings.FRIENDLY_FIELD_ERRORS['CharField']['max_length']
        self.assertEqual(s.errors['errors'][0]['code'], code)
        self.assertEqual(s.errors['errors'][0]['field'], 'title')

        # Empty string
        self.data_set['title'] = ''
        s = run_is_valid(SnippetSerializer, data=self.data_set)
        code = settings.FRIENDLY_FIELD_ERRORS['CharField']['blank']
        self.assertEqual(s.errors['errors'][0]['code'], code)
        self.assertEqual(s.errors['errors'][0]['field'], 'title')

        # No data provided
        self.data_set.pop('title')
        s = run_is_valid(SnippetSerializer, data=self.data_set)
        code = settings.FRIENDLY_FIELD_ERRORS['CharField']['required']
        self.assertEqual(s.errors['errors'][0]['code'], code)
        self.assertEqual(s.errors['errors'][0]['field'], 'title')
项目:vaultier    作者:Movile    | 项目源码 | 文件源码
def get_fields(self):
        """
        Adds invitation_hash field in create action only if registration is
        disabled
        """
        request = self.context.get('request')
        ret = super(UserSerializer, self).get_fields()

        if not request:
            return ret

        if request.method == 'POST' and \
                bool(User.objects.all().count() is not 0) and \
                not settings.VAULTIER.get('registration_allow'):
            ret['invitation_hash'] = serializers.CharField(write_only=True,
                                                           required=True)
        return ret
项目:drf-schema-adapter    作者:drf-forms    | 项目源码 | 文件源码
def test_validation_attrs(self):
        data = (
            (CharField(), {}),
            (IntegerField, {}),
            (CharField(min_length=3), {'min': 3}),
            (CharField(max_length=10), {'max': 10}),
            (CharField(min_length=3, max_length=10), {'min': 3, 'max': 10}),
            (IntegerField(min_value=0), {'min': 0}),
            (IntegerField(max_value=100), {'max': 100}),
            (IntegerField(min_value=0, max_value=100), {'min': 0, 'max': 100}),
        )

        for input_field, expected in data:
            result = utils.get_validation_attrs(input_field)
            self.assertEqual(result, expected,
                             'got {} while expecting {} when comparing validation attrs for {}'.format(
                                 result,
                                 expected,
                                 input_field
                             ))
项目:django-chemtrails    作者:inonit    | 项目源码 | 文件源码
def get_fields(self):
        field_mapping = OrderedDict()

        # Normal properties
        for field, property_class in self.instance.defined_properties(aliases=False, rels=False).items():
            # TODO: Support AliasField - check for __call__ in _field_mapping.
            field_mapping['id'] = serializers.IntegerField(default=self.instance.id)
            field_mapping['label'] = serializers.CharField(default=self.instance.__label__)
            field_mapping.update({
                field: self.get_serializer_field(property_class, **self._get_default_field_kwargs(property_class))
            })

        # Relationships
        for field, property_class in self.instance.defined_properties(aliases=False, properties=False).items():
            field_mapping.update({
                field: RelationshipSerializer(property_class.definition, many=not isinstance(property_class, One))
            })

        return field_mapping
项目:django-returnfields    作者:podhmo    | 项目源码 | 文件源码
def setUp(self):
        from .models import User, Skill

        class AnotherSkillSerializer(serializers.ModelSerializer):
            fullname = serializers.CharField(source="name")

            class Meta:
                model = Skill
                fields = ("id", "fullname")

        class AnotherUserSerializer(serializers.ModelSerializer):
            fullname = serializers.CharField(source="username")
            my_skills = AnotherSkillSerializer(many=True, source="skills")

            class Meta:
                model = User
                fields = ("id", "fullname", "my_skills")
        self.Serializer = AnotherUserSerializer
项目:django-openapi-gen    作者:Ecognize    | 项目源码 | 文件源码
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
项目:django-elasticsearch-dsl-drf    作者:barseghyanartur    | 项目源码 | 文件源码
def get_value(self, dictionary):
        """Get value."""
        value = super(CharField, self).get_value(dictionary)
        return to_representation(value)
项目:django-open-volunteering-platform    作者:OpenVolunteeringPlatform    | 项目源码 | 文件源码
def __init__(self, *args, **kwargs):
    """
    Dynamically add the USERNAME_FIELD to self.fields.
    """
    super(ChannelJSONWebTokenSerializer, self).__init__(*args, **kwargs)
    #self.fields['channel'] = serializers.CharField(write_only=True)
项目:munch-core    作者:crunchmail    | 项目源码 | 文件源码
def get_field_serializer(cls, field_type):
        try:
            # Try to retrieve right field type
            serializer = getattr(serializers, '%sField' % field_type)
        except AttributeError:
            # Fallback on CharField
            serializer = serializers.CharField
        return serializer
项目:munch-core    作者:crunchmail    | 项目源码 | 文件源码
def __init__(self, *args, **kwargs):
        """ Dynamically add the USERNAME_FIELD to self.fields. """
        super().__init__(*args, **kwargs)

        self.fields[self.username_field] = serializers.CharField(
            required=False)
        self.fields['password'] = PasswordField(
            write_only=True, required=False)
项目:graphene-django    作者:graphql-python    | 项目源码 | 文件源码
def test_should_char_convert_string():
    assert_conversion(serializers.CharField, graphene.String)
项目:graphene-django    作者:graphql-python    | 项目源码 | 文件源码
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
项目:django-chemtrails    作者:inonit    | 项目源码 | 文件源码
def get_fields(self):
        field_mapping = OrderedDict()
        for key, value in self.instance.items():
            if key == 'node_class':
                field_mapping['to'] = serializers.CharField(default=value.__label__)
            elif isinstance(value, RelationshipMeta):
                field_mapping['meta'] = serializers.DictField(
                    child=serializers.CharField(),
                    default={k: v.default for k, v in value.__dict__.items() if isinstance(v, properties.Property)})
            elif key == 'direction':
                field_mapping[key] = serializers.IntegerField(default=value)
            elif key == 'relation_type':
                field_mapping[key] = serializers.CharField(default=value)
        return field_mapping
项目:django-returnfields    作者:podhmo    | 项目源码 | 文件源码
def _makeSerializer(self):
        class CommentSerializer(serializers.Serializer):
            name = serializers.CharField()
            content = serializers.CharField()

        class ArticleSerializer(serializers.Serializer):
            name = serializers.CharField()
            content = serializers.CharField()
            comments = CommentSerializer(many=True)
        return ArticleSerializer
项目:issue-reporting    作者:6aika    | 项目源码 | 文件源码
def extend_issue_serializer(self, serializer):
        serializer.fields['service_object_id'] = serializers.CharField(write_only=True, required=False)
        serializer.fields['service_object_type'] = serializers.CharField(write_only=True, required=False)
        serializer.fields['title'] = serializers.CharField(write_only=True, required=False)
项目:sahaf    作者:EmreYavuz216    | 项目源码 | 文件源码
def to_representation(self, obj):
        if isinstance(obj,UserProfile):
            return super(UserProfileSerializer,self).to_representation(obj)
        serializer = TokenSerializer(obj)
        return serializer.data

# class ScoreSerializer(serializers.ModelSerializer):
#     UserId = serializers.IntegerField(source='GiverPersonId_id',read_only=True) #Read olurken hangi user in verdigini anlamak icin kullanilir
#     Score = serializers.IntegerField(source='Point')
#     Name = serializers.CharField(source='GiverPersonId.user.first_name',read_only=True)
#     Image = serializers.ImageField(source='GiverPersonId.Photo', max_length=None, use_url=True, read_only=True)
#     class Meta(object):
#         model = Score
#         fields = ('Score','UserId','Name','Image')
#     def create(self, validated_data):
#         taker = self.context['view'].kwargs['pk']
#         score = Score.objects.create(TakerPersonId_id=taker ,GiverPersonId_id=self.context['request'].user.id, **validated_data)
#         scores = Score.objects.filter(TakerPersonId_id=taker)
#         total = 0.0
#         for score in scores:
#             total += score.Point
#         avarage_score =  total / len(scores)
#         user = UserProfile.objects.get(pk=taker)
#         user.Score = avarage_score
#         user.save()
#         return {'IsSuccess':True,'context':''}
#     def to_representation(self, obj):
#         if isinstance(obj,Score):
#             return super(ScoreSerializer,self).to_representation(obj)
#         serializer = ResultSerializer(obj)
#         return serializer.data
项目:pydantic    作者:samuelcolvin    | 项目源码 | 文件源码
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
项目:fog    作者:fogf    | 项目源码 | 文件源码
def __init__(self, *args, **kwargs):
        """
        Dynamically add the USERNAME_FIELD to self.fields.
        """
        super(JSONWebTokenSerializer, self).__init__(*args, **kwargs)

        self.fields[self.username_field] = serializers.CharField()
        self.fields['password'] = PasswordField(write_only=True)