表AWSIOt.User_set_user不存在
大家好,这是我的第一篇文章。 我试图通过使用user.delete()删除用户。但是,它没有从表auth_user中找到用户。 它从project.appname_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!!!'))
所以,我该如何解决呢?
答案 0 :(得分:0)
坦白。您的错误可能与您使用通配符导入from .head import *
的事实有关。这可能会导致与User
的名称空间冲突。
我建议您考虑使用delete
中的APIView
方法作为以下代码段:
views.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)
urls.py
from django.urls import path
from . import views
urlpatterns = [
path("user/<int:pk>/", views.UserDetailsView.as_view(), name="details_user"),
]