encode / django-rest-framework

Web APIs for Django. 🎸
https://www.django-rest-framework.org
Other
28.26k stars 6.83k forks source link

ReturnDict fails with union operator (PEP 584) #8301

Closed spookylukey closed 2 years ago

spookylukey commented 2 years ago

Simplest case. Under Python 3.9:

>>> from rest_framework.serializers import Serializer
>>> Serializer().data | {}

Expected output:

{}

Actual behaviour:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/luke/devel/django-rest-framework/rest_framework/utils/serializer_helpers.py", line 17, in __init__
    self.serializer = kwargs.pop('serializer')
KeyError: 'serializer'

I will provide a PR soon.

Checklist

tomchristie commented 2 years ago

Closed via 8302