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) return six.text_type(value)
class QueryParamField(CharField):
pass
class EmailField(CharField): class EmailField(CharField):
default_error_messages = { default_error_messages = {
'invalid': _('Enter a valid email address.') 'invalid': _('Enter a valid email address.')

View File

@ -590,10 +590,12 @@ class SchemaGenerator(object):
if field.read_only or isinstance(field, serializers.HiddenField): if field.read_only or isinstance(field, serializers.HiddenField):
continue continue
location = 'query' if isinstance(field, serializers.QueryParamField) else 'form'
required = field.required and method != 'PATCH' required = field.required and method != 'PATCH'
field = coreapi.Field( field = coreapi.Field(
name=field.field_name, name=field.field_name,
location='form', location=location,
required=required, required=required,
schema=field_to_schema(field) 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, DictField, DurationField, EmailField, Field, FileField, FilePathField, FloatField,
HiddenField, IPAddressField, ImageField, IntegerField, JSONField, ListField, HiddenField, IPAddressField, ImageField, IntegerField, JSONField, ListField,
ModelField, MultipleChoiceField, NullBooleanField, ReadOnlyField, RegexField, ModelField, MultipleChoiceField, NullBooleanField, ReadOnlyField, RegexField,
SerializerMethodField, SlugField, TimeField, URLField, UUIDField, SerializerMethodField, SlugField, TimeField, URLField, UUIDField, QueryParamField,
) )
from rest_framework.relations import ( # NOQA # isort:skip from rest_framework.relations import ( # NOQA # isort:skip
HyperlinkedIdentityField, HyperlinkedRelatedField, ManyRelatedField, HyperlinkedIdentityField, HyperlinkedRelatedField, ManyRelatedField,