Django NotImplementedError:`create()`必须在serializer.serializer继承中实现

Django NotImplementedError:`create()`必须在serializer.serializer继承中实现,django,django-rest-framework,python-3.7,Django,Django Rest Framework,Python 3.7,我在使用serializer创建auth令牌时出错,我是Django初学者,正在尝试各种方法来解决问题,但没有解决,请任何人都可以在这方面帮助我 文件“/usr/local/lib/python3.7/site packages/rest_framework/serializers.py”,第169行,在create中 raise NOTEImplementedError(“create()必须实现”。) 未实现错误:create()必须实现 class CreateAuthTokenSeria

我在使用serializer创建auth令牌时出错,我是Django初学者,正在尝试各种方法来解决问题,但没有解决,请任何人都可以在这方面帮助我

文件“/usr/local/lib/python3.7/site packages/rest_framework/serializers.py”,第169行,在create中 raise NOTEImplementedError(“
create()
必须实现”。)

未实现错误:
create()
必须实现

class CreateAuthTokenSerializer(serializers.Serializer):
    """Authentication serializer"""

    email = serializers.CharField()
    password = serializers.CharField(
        style={'input_type': 'password'},
        trim_whitespace=False
    )

    def validate(self, attrs):
        email = attrs.get('email')
        password = attrs.get('password')

        user = authenticate(
            request=self.context.get('request'),
            username=email,
            password=password
        )

        if not user:
            msg = _('unable to authenticate with username and password')
            raise serializers.ValidationError(msg, code='authentication')

        attrs['user'] = user
        return attrs
提前谢谢

class CreateTokenView(ObtainAuthToken):
    """Create a new auth token for the user"""
    serializer_class = AuthTokenSerializer
    renderer_classes = api_settings.DEFAULT_RENDERER_CLASSES

通过使用继承的而不是泛型来解决问题。CreateAPIView检查您是否使用了正确的对象

例如,它是
ModelSerializer
,如果我误用了
Serializer
,则将发生未实现:

from rest_framework import serializers

from .models import Product

class ProductSerializer(serializers.ModelSerializer):
    class Meta:
        model = Product
        fields = '__all__'

由于您使用的是
serializers.Serializer
,因此它没有内置的
create()
方法,而不像
serializers.ModelSerializer
。可能您正在尝试调用
serializer.save()
,如果要保存实例,则需要实现
create()
方法。但也许你不需要它。更多信息:Hi Rudra,我不想要
Serializer中的
create()
方法。Serializer
我想要与此相同的方法[然后从视图中删除任何类似Serializer.save()的代码,然后应该修复它