属性错误:模块'rest_framework.serializers'在Swagger内部Django中没有属性'NullBooleanField'

uqxowvwt  于 2022-11-06  发布在  Go
关注(0)|答案(3)|浏览(280)

这个错误会在django中抛出,即使它没有被导入到任何地方。它是由OpenAPISchemaGenerator抛出的,如下所示:

File "/opt/hostedtoolcache/Python/3.8.13/x64/lib/python3.8/site-packages/drf_yasg/inspectors/field.py", line 406, in <module>
    (serializers.NullBooleanField, (openapi.TYPE_BOOLEAN, None)),
AttributeError: module 'rest_framework.serializers' has no attribute 'NullBooleanField'

如何修复此问题?link。它没有回答问题。

eufgjt7s

eufgjt7s1#

在DRF 3.14.0中删除了空布尔字段-参见https://github.com/encode/django-rest-framework/pull/8599
建议避免使用3.14.0,除非您可以找到其他解决方法。

djangorestframework>=3.13.1,!=3.14.0
8nuwlpux

8nuwlpux2#

您使用的是哪个版本的drf?我今天遇到了同样的问题,将djangorestframework =“^3.13.1”改为djangorestframework =“3.13.1”解决了这个问题。我猜今天是drf 3.14的发布

zf2sa74q

zf2sa74q3#

对NullBooleanField的支持在3.14.0中被删除了。我在drf-yasg github上提出了一个issue,要求支持这个版本的drf。他们也发布了一个PR,但还没有合并。

相关问题