如何摆脱 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 内置库使用驼峰式命名 - 没什么大不了的。

您没有做错任何事,您可以实施这些方法,或者只是抑制警告:

  1. 转到首选项
  2. 在搜索框(左上角)中输入 'abstract'
  3. 您会看到检查 > Python > Class 必须实现所有抽象方法
  4. 取消勾选