Schema generation with an HStoreField gives an incorrect type · Issue #6913 · encode/django-rest-framework (original) (raw)
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
On any serializer, add an HStoreField.
class HStoredSerializer(serializers.Serializer): myfield = serializers.HStoreField()
class HStoredAPIView(CreateAPIView): serializer_class = HStoredSerializer ...
Expected behavior
Output of ./manage.py generateschema
:
paths: /api/hstored: post: operationId: CreateHStored parameters: [] requestBody: content: application/json: schema: required: - myfield properties: myfield: type: object
Actual behavior
Output of ./manage.py generateschema
:
paths: /api/hstored: post: operationId: CreateHStored parameters: [] requestBody: content: application/json: schema: required: - myfield properties: myfield: type: string
It seems that we should only need to add a line to the FIELD_CLASS_SCHEMA_TYPE
dict found here; if that's all we need, I can easily open a PR myself.