Closed
Description
Checklist
- I have verified that that issue exists against the
master
branch of Django REST framework. - I have searched for similar issues in both open and closed tickets and cannot find a duplicate.
- This is not a usage question. (Those should be directed to the discussion group instead.)
- This cannot be dealt with as a third party library. (We prefer new functionality to be in the form of third party libraries where possible.)
- I have reduced the issue to the simplest possible case.
- I have included a failing test as a pull request. (If you are unable to do so we can still accept the issue.)
Steps to reproduce
Create array field with base_field provided choices:
class A(Model):
field = ArrayField(base_field=CharField(max_length=256, choices=(1,2,3)))
Expected behavior
properties: {field: {
type: array
items: {
enum: [1, 2, 3]
type: "string"
}
}}
or
properties: {field: {
type: array
items: {
enum: [1, 2, 3]
}
}}
Actual behavior
properties: {
field: {
type: array
items: {
type: null
}
}}
Note
Looks like choice field processing produces {enum}
https://github.com/encode/django-rest-framework/blob/master/rest_framework/schemas/openapi.py#L256
But list field expects type
(self._map_field(field.child).get('type')
)
https://github.com/encode/django-rest-framework/blob/master/rest_framework/schemas/openapi.py#L269
Metadata
Metadata
Assignees
Labels
No labels