扩展django用户django-rest_框架会给我带来KeyError

扩展django用户django-rest_框架会给我带来KeyError,django,django-models,django-rest-framework,django-users,python-3.5,Django,Django Models,Django Rest Framework,Django Users,Python 3.5,我是django rest_框架的新手,已经发布了,我已经根据django文档扩展了auth_用户,但是这给我带来了困难 型号.py class UserProfile(models.Model): user = models.OneToOneField(User, primary_key=True, on_delete=models.CASCADE) national_id = models.CharField(max_length=10, blank=True, null=T

我是django rest_框架的新手,已经发布了,我已经根据django文档扩展了auth_用户,但是这给我带来了困难

型号.py

class UserProfile(models.Model):
    user = models.OneToOneField(User, primary_key=True, on_delete=models.CASCADE)
    national_id = models.CharField(max_length=10, blank=True, null=True)
    mobile = models.CharField(max_length=10)
    pin = models.IntegerField()
    pattern = models.IntegerField(blank=True, null=True)
    fingerprint = models.CharField(max_length=45, blank=True, null=True)

    class Meta:
        managed = False
        db_table = 'user_profile'
class UserSerializer(serializers.ModelSerializer):
    national_id = serializers.CharField(source='userprofile.national_id', allow_null=True, required=False)
    mobile = serializers.CharField(source='userprofile.mobile')
    pin = serializers.IntegerField(source='userprofile.pin', write_only=True)
    pattern = serializers.IntegerField(source='userprofile.pattern', write_only=True)
    fingerprint = serializers.CharField(source='userprofile.fingerprint', write_only=True, allow_null=True, required=False)

    class Meta:
        model = User
        fields = ('id', 'username', 'password', 'first_name', 'last_name', 'email', 'national_id', 'mobile', 'pin', 'pattern', 'fingerprint')
        write_only_fields = ('password',)
        read_only_fields = ('last_login', 'is_superuser', 'is_staff', 'is_active', 'date_joined')

    def create(self, validated_data):
        user = User(
            username=validated_data['username'],
            first_name=validated_data['first_name'],
            last_name=validated_data['last_name'],
            email=validated_data['email'],
            )
        user.set_password(validated_data['password'])
        user.save()
        userprofile = UserProfile(
            user=user,
            national_id=validated_data['national_id'],
            mobile=validated_data['mobile'],
            pin=validated_data['pin'],
            pattern=validated_data['pattern'],
            fingerprint=validated_data['fingerprint'],
            )
        userprofile.save()
        return user
class UserView(viewsets.ModelViewSet):
    serializer_class = UserSerializer
    queryset = get_user_model().objects
from django.conf.urls import include, url
from django.contrib import admin
from rest_framework.routers import DefaultRouter

from restful.views import *

router = DefaultRouter()

router.register(r'availability-notification', AvailabiltyNotificationView)
router.register(r'bank', BankView)
router.register(r'recipient', RecipientView)
router.register(r'user', UserView)

urlpatterns = [
    url(r'^', include(router.urls)),
    url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
    url(r'^admin/', admin.site.urls),
class UserSerializer(serializers.ModelSerializer):
    national_id = serializers.CharField(source='userprofile.national_id', allow_null=True, required=False)
    mobile = serializers.CharField(source='userprofile.mobile')
    pin = serializers.IntegerField(source='userprofile.pin', write_only=True)
    pattern = serializers.IntegerField(source='userprofile.pattern', write_only=True)
    fingerprint = serializers.CharField(source='userprofile.fingerprint', write_only=True, allow_null=True, required=False)

    bank_accounts = UserBankAccountSerializer(many=True)

    class Meta:
        model = User
        fields = ('id', 'username', 'password', 'first_name', 'last_name', 'email', 'national_id', 'mobile', 'pin', 'pattern', 'fingerprint', 'bank_accounts')
        write_only_fields = ('password',)
        read_only_fields = ('last_login', 'is_superuser', 'is_staff', 'is_active', 'date_joined')

    def create(self, validated_data):
        user = User(
            username=validated_data['username'],
            first_name=validated_data['first_name'],
            last_name=validated_data['last_name'],
            email=validated_data['email'],
            )
        user.set_password(validated_data['password'])
        user.save()
        profile_data = validated_data.pop('userprofile')
        userprofile = UserProfile(
            user=user,
            national_id=profile_data['national_id'],
            mobile=profile_data['mobile'],
            pin=profile_data['pin'],
            pattern=profile_data['pattern'],
            fingerprint=profile_data['fingerprint'],
            )
        userprofile.save()
        return user
序列化程序.py

class UserProfile(models.Model):
    user = models.OneToOneField(User, primary_key=True, on_delete=models.CASCADE)
    national_id = models.CharField(max_length=10, blank=True, null=True)
    mobile = models.CharField(max_length=10)
    pin = models.IntegerField()
    pattern = models.IntegerField(blank=True, null=True)
    fingerprint = models.CharField(max_length=45, blank=True, null=True)

    class Meta:
        managed = False
        db_table = 'user_profile'
class UserSerializer(serializers.ModelSerializer):
    national_id = serializers.CharField(source='userprofile.national_id', allow_null=True, required=False)
    mobile = serializers.CharField(source='userprofile.mobile')
    pin = serializers.IntegerField(source='userprofile.pin', write_only=True)
    pattern = serializers.IntegerField(source='userprofile.pattern', write_only=True)
    fingerprint = serializers.CharField(source='userprofile.fingerprint', write_only=True, allow_null=True, required=False)

    class Meta:
        model = User
        fields = ('id', 'username', 'password', 'first_name', 'last_name', 'email', 'national_id', 'mobile', 'pin', 'pattern', 'fingerprint')
        write_only_fields = ('password',)
        read_only_fields = ('last_login', 'is_superuser', 'is_staff', 'is_active', 'date_joined')

    def create(self, validated_data):
        user = User(
            username=validated_data['username'],
            first_name=validated_data['first_name'],
            last_name=validated_data['last_name'],
            email=validated_data['email'],
            )
        user.set_password(validated_data['password'])
        user.save()
        userprofile = UserProfile(
            user=user,
            national_id=validated_data['national_id'],
            mobile=validated_data['mobile'],
            pin=validated_data['pin'],
            pattern=validated_data['pattern'],
            fingerprint=validated_data['fingerprint'],
            )
        userprofile.save()
        return user
class UserView(viewsets.ModelViewSet):
    serializer_class = UserSerializer
    queryset = get_user_model().objects
from django.conf.urls import include, url
from django.contrib import admin
from rest_framework.routers import DefaultRouter

from restful.views import *

router = DefaultRouter()

router.register(r'availability-notification', AvailabiltyNotificationView)
router.register(r'bank', BankView)
router.register(r'recipient', RecipientView)
router.register(r'user', UserView)

urlpatterns = [
    url(r'^', include(router.urls)),
    url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
    url(r'^admin/', admin.site.urls),
class UserSerializer(serializers.ModelSerializer):
    national_id = serializers.CharField(source='userprofile.national_id', allow_null=True, required=False)
    mobile = serializers.CharField(source='userprofile.mobile')
    pin = serializers.IntegerField(source='userprofile.pin', write_only=True)
    pattern = serializers.IntegerField(source='userprofile.pattern', write_only=True)
    fingerprint = serializers.CharField(source='userprofile.fingerprint', write_only=True, allow_null=True, required=False)

    bank_accounts = UserBankAccountSerializer(many=True)

    class Meta:
        model = User
        fields = ('id', 'username', 'password', 'first_name', 'last_name', 'email', 'national_id', 'mobile', 'pin', 'pattern', 'fingerprint', 'bank_accounts')
        write_only_fields = ('password',)
        read_only_fields = ('last_login', 'is_superuser', 'is_staff', 'is_active', 'date_joined')

    def create(self, validated_data):
        user = User(
            username=validated_data['username'],
            first_name=validated_data['first_name'],
            last_name=validated_data['last_name'],
            email=validated_data['email'],
            )
        user.set_password(validated_data['password'])
        user.save()
        profile_data = validated_data.pop('userprofile')
        userprofile = UserProfile(
            user=user,
            national_id=profile_data['national_id'],
            mobile=profile_data['mobile'],
            pin=profile_data['pin'],
            pattern=profile_data['pattern'],
            fingerprint=profile_data['fingerprint'],
            )
        userprofile.save()
        return user
视图.py

class UserProfile(models.Model):
    user = models.OneToOneField(User, primary_key=True, on_delete=models.CASCADE)
    national_id = models.CharField(max_length=10, blank=True, null=True)
    mobile = models.CharField(max_length=10)
    pin = models.IntegerField()
    pattern = models.IntegerField(blank=True, null=True)
    fingerprint = models.CharField(max_length=45, blank=True, null=True)

    class Meta:
        managed = False
        db_table = 'user_profile'
class UserSerializer(serializers.ModelSerializer):
    national_id = serializers.CharField(source='userprofile.national_id', allow_null=True, required=False)
    mobile = serializers.CharField(source='userprofile.mobile')
    pin = serializers.IntegerField(source='userprofile.pin', write_only=True)
    pattern = serializers.IntegerField(source='userprofile.pattern', write_only=True)
    fingerprint = serializers.CharField(source='userprofile.fingerprint', write_only=True, allow_null=True, required=False)

    class Meta:
        model = User
        fields = ('id', 'username', 'password', 'first_name', 'last_name', 'email', 'national_id', 'mobile', 'pin', 'pattern', 'fingerprint')
        write_only_fields = ('password',)
        read_only_fields = ('last_login', 'is_superuser', 'is_staff', 'is_active', 'date_joined')

    def create(self, validated_data):
        user = User(
            username=validated_data['username'],
            first_name=validated_data['first_name'],
            last_name=validated_data['last_name'],
            email=validated_data['email'],
            )
        user.set_password(validated_data['password'])
        user.save()
        userprofile = UserProfile(
            user=user,
            national_id=validated_data['national_id'],
            mobile=validated_data['mobile'],
            pin=validated_data['pin'],
            pattern=validated_data['pattern'],
            fingerprint=validated_data['fingerprint'],
            )
        userprofile.save()
        return user
class UserView(viewsets.ModelViewSet):
    serializer_class = UserSerializer
    queryset = get_user_model().objects
from django.conf.urls import include, url
from django.contrib import admin
from rest_framework.routers import DefaultRouter

from restful.views import *

router = DefaultRouter()

router.register(r'availability-notification', AvailabiltyNotificationView)
router.register(r'bank', BankView)
router.register(r'recipient', RecipientView)
router.register(r'user', UserView)

urlpatterns = [
    url(r'^', include(router.urls)),
    url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
    url(r'^admin/', admin.site.urls),
class UserSerializer(serializers.ModelSerializer):
    national_id = serializers.CharField(source='userprofile.national_id', allow_null=True, required=False)
    mobile = serializers.CharField(source='userprofile.mobile')
    pin = serializers.IntegerField(source='userprofile.pin', write_only=True)
    pattern = serializers.IntegerField(source='userprofile.pattern', write_only=True)
    fingerprint = serializers.CharField(source='userprofile.fingerprint', write_only=True, allow_null=True, required=False)

    bank_accounts = UserBankAccountSerializer(many=True)

    class Meta:
        model = User
        fields = ('id', 'username', 'password', 'first_name', 'last_name', 'email', 'national_id', 'mobile', 'pin', 'pattern', 'fingerprint', 'bank_accounts')
        write_only_fields = ('password',)
        read_only_fields = ('last_login', 'is_superuser', 'is_staff', 'is_active', 'date_joined')

    def create(self, validated_data):
        user = User(
            username=validated_data['username'],
            first_name=validated_data['first_name'],
            last_name=validated_data['last_name'],
            email=validated_data['email'],
            )
        user.set_password(validated_data['password'])
        user.save()
        profile_data = validated_data.pop('userprofile')
        userprofile = UserProfile(
            user=user,
            national_id=profile_data['national_id'],
            mobile=profile_data['mobile'],
            pin=profile_data['pin'],
            pattern=profile_data['pattern'],
            fingerprint=profile_data['fingerprint'],
            )
        userprofile.save()
        return user
url.py

class UserProfile(models.Model):
    user = models.OneToOneField(User, primary_key=True, on_delete=models.CASCADE)
    national_id = models.CharField(max_length=10, blank=True, null=True)
    mobile = models.CharField(max_length=10)
    pin = models.IntegerField()
    pattern = models.IntegerField(blank=True, null=True)
    fingerprint = models.CharField(max_length=45, blank=True, null=True)

    class Meta:
        managed = False
        db_table = 'user_profile'
class UserSerializer(serializers.ModelSerializer):
    national_id = serializers.CharField(source='userprofile.national_id', allow_null=True, required=False)
    mobile = serializers.CharField(source='userprofile.mobile')
    pin = serializers.IntegerField(source='userprofile.pin', write_only=True)
    pattern = serializers.IntegerField(source='userprofile.pattern', write_only=True)
    fingerprint = serializers.CharField(source='userprofile.fingerprint', write_only=True, allow_null=True, required=False)

    class Meta:
        model = User
        fields = ('id', 'username', 'password', 'first_name', 'last_name', 'email', 'national_id', 'mobile', 'pin', 'pattern', 'fingerprint')
        write_only_fields = ('password',)
        read_only_fields = ('last_login', 'is_superuser', 'is_staff', 'is_active', 'date_joined')

    def create(self, validated_data):
        user = User(
            username=validated_data['username'],
            first_name=validated_data['first_name'],
            last_name=validated_data['last_name'],
            email=validated_data['email'],
            )
        user.set_password(validated_data['password'])
        user.save()
        userprofile = UserProfile(
            user=user,
            national_id=validated_data['national_id'],
            mobile=validated_data['mobile'],
            pin=validated_data['pin'],
            pattern=validated_data['pattern'],
            fingerprint=validated_data['fingerprint'],
            )
        userprofile.save()
        return user
class UserView(viewsets.ModelViewSet):
    serializer_class = UserSerializer
    queryset = get_user_model().objects
from django.conf.urls import include, url
from django.contrib import admin
from rest_framework.routers import DefaultRouter

from restful.views import *

router = DefaultRouter()

router.register(r'availability-notification', AvailabiltyNotificationView)
router.register(r'bank', BankView)
router.register(r'recipient', RecipientView)
router.register(r'user', UserView)

urlpatterns = [
    url(r'^', include(router.urls)),
    url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
    url(r'^admin/', admin.site.urls),
class UserSerializer(serializers.ModelSerializer):
    national_id = serializers.CharField(source='userprofile.national_id', allow_null=True, required=False)
    mobile = serializers.CharField(source='userprofile.mobile')
    pin = serializers.IntegerField(source='userprofile.pin', write_only=True)
    pattern = serializers.IntegerField(source='userprofile.pattern', write_only=True)
    fingerprint = serializers.CharField(source='userprofile.fingerprint', write_only=True, allow_null=True, required=False)

    bank_accounts = UserBankAccountSerializer(many=True)

    class Meta:
        model = User
        fields = ('id', 'username', 'password', 'first_name', 'last_name', 'email', 'national_id', 'mobile', 'pin', 'pattern', 'fingerprint', 'bank_accounts')
        write_only_fields = ('password',)
        read_only_fields = ('last_login', 'is_superuser', 'is_staff', 'is_active', 'date_joined')

    def create(self, validated_data):
        user = User(
            username=validated_data['username'],
            first_name=validated_data['first_name'],
            last_name=validated_data['last_name'],
            email=validated_data['email'],
            )
        user.set_password(validated_data['password'])
        user.save()
        profile_data = validated_data.pop('userprofile')
        userprofile = UserProfile(
            user=user,
            national_id=profile_data['national_id'],
            mobile=profile_data['mobile'],
            pin=profile_data['pin'],
            pattern=profile_data['pattern'],
            fingerprint=profile_data['fingerprint'],
            )
        userprofile.save()
        return user
但我一直在告诉我:

环境:

请求方法:发布请求URL:

Django版本:1.10.2 Python版本:3.5.2已安装的应用程序: ['django.contrib.admin','django.contrib.auth', 'django.contrib.contenttypes','django.contrib.sessions', 'django.contrib.messages'、'django.contrib.staticfiles', “rest_框架”、“restful”]安装的中间件: ['django.middleware.security.SecurityMiddleware', “django.contrib.sessions.middleware.SessionMiddleware”, 'django.middleware.common.CommonMiddleware', “django.middleware.csrf.CsrfViewMiddleware”, 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.xframeoptions中间件']

回溯:

文件 “C:\Users\echavez\Envs\YEiPii\lib\site packages\django\core\handlers\exception.py” 在内部 39响应=获取响应(请求)

文件 “C:\Users\echavez\Envs\YEiPii\lib\site packages\django\core\handlers\base.py” 你得到了什么回应 187response=self.process\u异常\u由\u中间件(e,请求)

文件 “C:\Users\echavez\Envs\YEiPii\lib\site packages\django\core\handlers\base.py” 你得到了什么回应 185响应=包装的回调(请求,*回调参数,**回调参数)

文件 “C:\Users\echavez\Envs\YEiPii\lib\site packages\django\views\decorators\csrf.py” 在你看来 58返回视图函数(*args,**kwargs)

文件 “C:\Users\echavez\Envs\YEiPii\lib\site packages\rest\u framework\viewsets.py” 鉴于 87返回自调度(请求,*args,**kwargs)

文件 “C:\Users\echavez\Envs\YEiPii\lib\site packages\rest\u framework\views.py” 派遣 474响应=自身处理异常(exc)

文件 “C:\Users\echavez\Envs\YEiPii\lib\site packages\rest\u framework\views.py” 句柄中的异常 434自举未捕获异常(exc)

文件 “C:\Users\echavez\Envs\YEiPii\lib\site packages\rest\u framework\views.py” 派遣 471响应=处理程序(请求、*args、**kwargs)

文件 “C:\Users\echavez\Envs\YEiPii\lib\site packages\rest\u framework\mixins.py” 创造 21self.perform\u创建(序列化程序)

文件 “C:\Users\echavez\Envs\YEiPii\lib\site packages\rest\u framework\mixins.py” 在“执行”中创建 26serializer.save()

文件 “C:\Users\echavez\Envs\YEiPii\lib\site packages\rest\u framework\serializers.py” 拯救 192self.instance=self.create(已验证的_数据)

create中的文件“C:\Users\echavez\Source\ws\restful\serializers.py” 45national_id=已验证的_数据['national_id']

异常类型:/user/Exception值处的KeyError:'national_id'

我知道这是一个新手问题,但是,我真的需要帮助


提前感谢。

您以错误的方式获取配置文件数据。 validated_data是用户和配置文件数据的字典,您将分别保存这些数据

像这样拿

profile_data = validated_data.pop('userprofile')
请注意,我们弹出了userprofile数据,因此现在您只在验证的\u数据中保留了用户数据。所以一个完整的流程如下所示

profile_data = validated_data.pop('userprofile')
user = User.objects.create(**validated_data)
UserProfile.objects.create(user=user, **profile_data)
return user
看看这里


多亏拉尔·扎达为我指明了正确的方向,我的代码最终看起来是这样的,并且可以正常工作:

序列化程序.py

class UserProfile(models.Model):
    user = models.OneToOneField(User, primary_key=True, on_delete=models.CASCADE)
    national_id = models.CharField(max_length=10, blank=True, null=True)
    mobile = models.CharField(max_length=10)
    pin = models.IntegerField()
    pattern = models.IntegerField(blank=True, null=True)
    fingerprint = models.CharField(max_length=45, blank=True, null=True)

    class Meta:
        managed = False
        db_table = 'user_profile'
class UserSerializer(serializers.ModelSerializer):
    national_id = serializers.CharField(source='userprofile.national_id', allow_null=True, required=False)
    mobile = serializers.CharField(source='userprofile.mobile')
    pin = serializers.IntegerField(source='userprofile.pin', write_only=True)
    pattern = serializers.IntegerField(source='userprofile.pattern', write_only=True)
    fingerprint = serializers.CharField(source='userprofile.fingerprint', write_only=True, allow_null=True, required=False)

    class Meta:
        model = User
        fields = ('id', 'username', 'password', 'first_name', 'last_name', 'email', 'national_id', 'mobile', 'pin', 'pattern', 'fingerprint')
        write_only_fields = ('password',)
        read_only_fields = ('last_login', 'is_superuser', 'is_staff', 'is_active', 'date_joined')

    def create(self, validated_data):
        user = User(
            username=validated_data['username'],
            first_name=validated_data['first_name'],
            last_name=validated_data['last_name'],
            email=validated_data['email'],
            )
        user.set_password(validated_data['password'])
        user.save()
        userprofile = UserProfile(
            user=user,
            national_id=validated_data['national_id'],
            mobile=validated_data['mobile'],
            pin=validated_data['pin'],
            pattern=validated_data['pattern'],
            fingerprint=validated_data['fingerprint'],
            )
        userprofile.save()
        return user
class UserView(viewsets.ModelViewSet):
    serializer_class = UserSerializer
    queryset = get_user_model().objects
from django.conf.urls import include, url
from django.contrib import admin
from rest_framework.routers import DefaultRouter

from restful.views import *

router = DefaultRouter()

router.register(r'availability-notification', AvailabiltyNotificationView)
router.register(r'bank', BankView)
router.register(r'recipient', RecipientView)
router.register(r'user', UserView)

urlpatterns = [
    url(r'^', include(router.urls)),
    url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
    url(r'^admin/', admin.site.urls),
class UserSerializer(serializers.ModelSerializer):
    national_id = serializers.CharField(source='userprofile.national_id', allow_null=True, required=False)
    mobile = serializers.CharField(source='userprofile.mobile')
    pin = serializers.IntegerField(source='userprofile.pin', write_only=True)
    pattern = serializers.IntegerField(source='userprofile.pattern', write_only=True)
    fingerprint = serializers.CharField(source='userprofile.fingerprint', write_only=True, allow_null=True, required=False)

    bank_accounts = UserBankAccountSerializer(many=True)

    class Meta:
        model = User
        fields = ('id', 'username', 'password', 'first_name', 'last_name', 'email', 'national_id', 'mobile', 'pin', 'pattern', 'fingerprint', 'bank_accounts')
        write_only_fields = ('password',)
        read_only_fields = ('last_login', 'is_superuser', 'is_staff', 'is_active', 'date_joined')

    def create(self, validated_data):
        user = User(
            username=validated_data['username'],
            first_name=validated_data['first_name'],
            last_name=validated_data['last_name'],
            email=validated_data['email'],
            )
        user.set_password(validated_data['password'])
        user.save()
        profile_data = validated_data.pop('userprofile')
        userprofile = UserProfile(
            user=user,
            national_id=profile_data['national_id'],
            mobile=profile_data['mobile'],
            pin=profile_data['pin'],
            pattern=profile_data['pattern'],
            fingerprint=profile_data['fingerprint'],
            )
        userprofile.save()
        return user
因为,这不是一个完全嵌套的模型(银行账户是嵌套的),所以当我这样做时:

profile_data = validated_data.pop('userprofile')
user = User.objects.create(**validated_data)
UserProfile.objects.create(user=user, **userprofile)
return user
把我扔了

环境:

请求方法:发布请求URL:

Django版本:1.10.2 Python版本:3.5.2已安装的应用程序: ['django.contrib.admin','django.contrib.auth', 'django.contrib.contenttypes','django.contrib.sessions', 'django.contrib.messages'、'django.contrib.staticfiles', “rest_框架”、“restful”]安装的中间件: ['django.middleware.security.SecurityMiddleware', “django.contrib.sessions.middleware.SessionMiddleware”, 'django.middleware.common.CommonMiddleware', “django.middleware.csrf.CsrfViewMiddleware”, 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.xframeoptions中间件']

回溯:

文件 “C:\Users\echavez\Envs\YEiPii\lib\site packages\django\core\handlers\exception.py” 在内部 39响应=获取响应(请求)

文件 “C:\Users\echavez\Envs\YEiPii\lib\site packages\django\core\handlers\base.py” 你得到了什么回应 187response=self.process\u异常\u由\u中间件(e,请求)

文件 “C:\Users\echavez\Envs\YEiPii\lib\site packages\django\core\handlers\base.py” 你得到了什么回应 185响应=包装的回调(请求,*回调参数,**回调参数)

文件 “C:\Users\echavez\Envs\YEiPii\lib\site packages\django\views\decorators\csrf.py” 在你看来 58返回视图函数(*args,**kwargs)

文件 “C:\Users\echavez\Envs\YEiPii\lib\site packages\rest\u framework\viewsets.py” 鉴于 87返回自调度(请求,*args,**kwargs)

文件 “C:\Users\echavez\Envs\YEiPii\lib\site packages\rest\u framework\views.py” 派遣 474响应=自身处理异常(exc)

文件 “C:\Users\echavez\Envs\YEiPii\lib\site packages\rest\u framework\