add QueryParamField support to auto-generated documentation

This commit is contained in:
Lucas Paim 2017-05-11 11:11:56 -03:00
parent a251b93792
commit cc119d6d3d
3 changed files with 8 additions and 2 deletions

View File

@ -767,6 +767,10 @@ class CharField(Field):
return six.text_type(value)
class QueryParamField(CharField):
pass
class EmailField(CharField):
default_error_messages = {
'invalid': _('Enter a valid email address.')

View File

@ -590,10 +590,12 @@ class SchemaGenerator(object):
if field.read_only or isinstance(field, serializers.HiddenField):
continue
location = 'query' if isinstance(field, serializers.QueryParamField) else 'form'
required = field.required and method != 'PATCH'
field = coreapi.Field(
name=field.field_name,
location='form',
location=location,
required=required,
schema=field_to_schema(field)
)

View File

@ -57,7 +57,7 @@ from rest_framework.fields import ( # NOQA # isort:skip
DictField, DurationField, EmailField, Field, FileField, FilePathField, FloatField,
HiddenField, IPAddressField, ImageField, IntegerField, JSONField, ListField,
ModelField, MultipleChoiceField, NullBooleanField, ReadOnlyField, RegexField,
SerializerMethodField, SlugField, TimeField, URLField, UUIDField,
SerializerMethodField, SlugField, TimeField, URLField, UUIDField, QueryParamField,
)
from rest_framework.relations import ( # NOQA # isort:skip
HyperlinkedIdentityField, HyperlinkedRelatedField, ManyRelatedField,