Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django rest框架删除用户,但表不';不存在_Django_Django Rest Framework - Fatal编程技术网

Django rest框架删除用户,但表不';不存在

Django rest框架删除用户,但表不';不存在,django,django-rest-framework,Django,Django Rest Framework,表AWSIOt.User\u set\u User不存在 大家好,这是我的第一篇帖子。 我试图使用user.delete()删除一个用户。然而,它没有;无法从表auth\u user中找到用户。 它从project.appname\u user中查找用户。我没有在我的应用程序中创建模型用户,我在视图文件的顶部写了“from django.contrib.auth.models import user”。 这是我所有的代码 from django.contrib.auth.models impo

表AWSIOt.User\u set\u User不存在

大家好,这是我的第一篇帖子。 我试图使用user.delete()删除一个用户。然而,它没有;无法从表auth\u user中找到用户。 它从project.appname\u user中查找用户。我没有在我的应用程序中创建模型用户,我在视图文件的顶部写了“from django.contrib.auth.models import user”。 这是我所有的代码

from django.contrib.auth.models import User

from .head import *


class UserDeleteView(APIView):

    def get(self, request):
        try:
            user_id = self.request.query_params.get('user_id')
            user = User.objects.get(id=user_id)
            user.delete()
            return Response(Return_msg())
        except User.DoesNotExist:
            return Response(Return_msg(None, True, 'Failed, user does not exist!!!'))

那么,我该怎么解决呢???弗兰克。您的bug可能与您正在使用通配符import
from.head import*
有关。这可能会导致与
用户
的命名空间冲突

<> >我建议您考虑从<代码> APIVIEW/CODE >中使用<代码>删除>代码>方法,作为下面的代码片段:

视图.py

from django.contrib.auth.models import User
from rest_framework.response import Response
from rest_framework import status
from django.http import Http404


class UserDetailsView(APIView):

    def get_object(self, pk):
        try:
            return User.objects.get(pk=pk)
        except User.DoesNotExist:
            raise Http404

    def delete(self, request, pk, format=None):
        user = self.get_object(pk)
        user.delete()
        return Response(status=status.HTTP_204_NO_CONTENT)
from django.urls import path
from . import views

urlpatterns = [
    path("user/<int:pk>/", views.UserDetailsView.as_view(), name="details_user"),
]
url.py

from django.contrib.auth.models import User
from rest_framework.response import Response
from rest_framework import status
from django.http import Http404


class UserDetailsView(APIView):

    def get_object(self, pk):
        try:
            return User.objects.get(pk=pk)
        except User.DoesNotExist:
            raise Http404

    def delete(self, request, pk, format=None):
        user = self.get_object(pk)
        user.delete()
        return Response(status=status.HTTP_204_NO_CONTENT)
from django.urls import path
from . import views

urlpatterns = [
    path("user/<int:pk>/", views.UserDetailsView.as_view(), name="details_user"),
]
从django.url导入路径
从…起导入视图
URL模式=[
路径(“user//”,views.UserDetailsView.as_view(),name=“details_user”),
]

您是否执行了makemigrations和migrate命令?事实上,我执行了。我甚至可以更新用户的数据,表auth_user也会改变。但是,当我想删除一个实例时,它失败了。谢谢你,我终于修复了它。你的评论也是个好主意。我将在每个视图文件中使用一些常见的包。因此,我将它们添加到一个名为head.py的文件中。