我们从Python开源项目中,提取了以下3个代码示例,用于说明如何使用rest_framework.serializers.MultipleChoiceField()。
def test_should_multiplechoicefield_convert_to_list_of_string(): field = assert_conversion(serializers.MultipleChoiceField, graphene.List, choices=[1,2,3]) assert field.of_type == graphene.String
def __init__(self, *args, **kwargs): super(UpdateProjectQuotasSerializer, self).__init__(*args, **kwargs) # NOTE(amelia): This overide is mostly in use so that it can be tested # However it does take into account the improbable edge case that the # regions have changed since the server was last started self.fields['regions'] = serializers.MultipleChoiceField( choices=get_region_choices())
def field_to_schema(field): title = force_text(field.label) if field.label else '' description = force_text(field.help_text) if field.help_text else '' if isinstance(field, serializers.ListSerializer): child_schema = field_to_schema(field.child) return coreschema.Array( items=child_schema, title=title, description=description ) elif isinstance(field, serializers.Serializer): return coreschema.Object( properties=OrderedDict([ (key, field_to_schema(value)) for key, value in field.fields.items() ]), title=title, description=description ) elif isinstance(field, serializers.ManyRelatedField): return coreschema.Array( items=coreschema.String(), title=title, description=description ) elif isinstance(field, serializers.RelatedField): return coreschema.String(title=title, description=description) elif isinstance(field, serializers.MultipleChoiceField): return coreschema.Array( items=coreschema.Enum(enum=list(field.choices.keys())), title=title, description=description ) elif isinstance(field, serializers.ChoiceField): return coreschema.Enum( enum=list(field.choices.keys()), title=title, description=description ) elif isinstance(field, serializers.BooleanField): return coreschema.Boolean(title=title, description=description) elif isinstance(field, (serializers.DecimalField, serializers.FloatField)): return coreschema.Number(title=title, description=description) elif isinstance(field, serializers.IntegerField): return coreschema.Integer(title=title, description=description) if field.style.get('base_template') == 'textarea.html': return coreschema.String( title=title, description=description, format='textarea' ) return coreschema.String(title=title, description=description)