Django Rest框架上的POST请求错误(auth_user.username)
我试图通过POST创建一个新用户(django用户) 序列化程序.pyDjango Rest框架上的POST请求错误(auth_user.username),django,django-rest-framework,django-users,serialization,Django,Django Rest Framework,Django Users,Serialization,我试图通过POST创建一个新用户(django用户) 序列化程序.py from rest_framework import serializers from .models import * from django.contrib.auth.models import User class UsuarioSerializer(serializers.ModelSerializer): class Meta: model = User fields =
from rest_framework import serializers
from .models import *
from django.contrib.auth.models import User
class UsuarioSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('email',
'password')
views.py:
class Registrar(mixins.CreateModelMixin, viewsets.GenericViewSet):
serializer_class = UsuarioSerializer
URL.py:
from django.urls import path, include
from . import views
from rest_framework import routers
router = routers.DefaultRouter()
router.register('usuarios', views.UsuarioViewSet)
router.register('tecnicos', views.TecnicoViewSet)
router.register('pedidos', views.PedidoViewSet)
router.register('mispedidos', views.PedidoMiUsuarioSet)
router.register('registrar', views.Registrar, base_name = 'registro')
urlpatterns = [
path('', include(router.urls))
]
当我发布帖子时,我会出现以下错误:
唯一约束失败:auth_user.username
如果我将模型用户更改为Usuario,则此操作有效
Models.py:
class Usuario(models.Model):
email = models.EmailField(max_length=70, blank=True, null=True, unique=True)
password = models.TextField()
def __str__(self):
return self.email
但是我需要使用django的用户模型,用户模型中的用户名字段是必需的。 这就是为什么必须在创建操作中使用此字段 默认情况下,电子邮件地址不是必需的
它发生在Django create用户上,通过唯一的用户用户名。请稍候,不要通过API访问密码(即使这些密码是散列的)!!失败的原因是,正如错误所说,您已经有了一个
用户
,其用户名
。