如何摆脱 Pycharm 中的 djangorestframework Serializer Abstract class 警告?
How do I get rid of djangorestframework Serializer Abstract class warning in Pycharm?
我注意到 Pycharm 中的一个警告在我的 Django 项目中不起作用。只是觉得我能找到一个 link 到它是一个 PyCharm 错误...早在 2016 年
在我的 class:
class MySerializer(serializers.Serializer):
...
我收到以下警告:
Class MySerializer must implement all abstract methods
当我执行建议的快速修复时,它最终看起来像以下之一:
class MySerializer(serializers.Serializer, ABC):
...
# or
class MySerializer(serializers.Serializer, metaclass=ABCMeta):
...
# or
class MySerializer(serializers.Serializer):
# have update or create defined in serializer.
def update(self, instance, validated_data):
pass
def create(self, validated_data):
pass
但这只会破坏项目,老实说,我不太确定这里发生了什么,或者为什么它需要上述解决方案之一来抑制警告。这真的是 PyCharm 错误还是我做错了什么?
PyCharm 有很多警告。最后,这完全取决于开发人员和他们遵循的惯例。例如,PyCharm 将始终报告驼峰式,但很多 python 内置库使用驼峰式命名 - 没什么大不了的。
您没有做错任何事,您可以实施这些方法,或者只是抑制警告:
- 转到首选项
- 在搜索框(左上角)中输入 'abstract'
- 您会看到检查 > Python > Class 必须实现所有抽象方法
- 取消勾选
我注意到 Pycharm 中的一个警告在我的 Django 项目中不起作用。只是觉得我能找到一个 link 到它是一个 PyCharm 错误...早在 2016 年
在我的 class:
class MySerializer(serializers.Serializer):
...
我收到以下警告:
Class MySerializer must implement all abstract methods
当我执行建议的快速修复时,它最终看起来像以下之一:
class MySerializer(serializers.Serializer, ABC):
...
# or
class MySerializer(serializers.Serializer, metaclass=ABCMeta):
...
# or
class MySerializer(serializers.Serializer):
# have update or create defined in serializer.
def update(self, instance, validated_data):
pass
def create(self, validated_data):
pass
但这只会破坏项目,老实说,我不太确定这里发生了什么,或者为什么它需要上述解决方案之一来抑制警告。这真的是 PyCharm 错误还是我做错了什么?
PyCharm 有很多警告。最后,这完全取决于开发人员和他们遵循的惯例。例如,PyCharm 将始终报告驼峰式,但很多 python 内置库使用驼峰式命名 - 没什么大不了的。
您没有做错任何事,您可以实施这些方法,或者只是抑制警告:
- 转到首选项
- 在搜索框(左上角)中输入 'abstract'
- 您会看到检查 > Python > Class 必须实现所有抽象方法
- 取消勾选