Django Rest Framework (auth_user.username) 请求错误 POST
Error POST request on Django Rest Framework (auth_user.username)
我尝试通过 POST 和
创建一个新用户(django 用户)
serializers.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 = ('email',
'password')
views.py:
class Registrar(mixins.CreateModelMixin, viewsets.GenericViewSet):
serializer_class = UsuarioSerializer
urls.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))
]
当我做 post 时,我得到这个错误:
UNIQUE 约束失败: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 通过 唯一 用户用户名创建用户时。
我尝试通过 POST 和
创建一个新用户(django 用户)serializers.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 = ('email',
'password')
views.py:
class Registrar(mixins.CreateModelMixin, viewsets.GenericViewSet):
serializer_class = UsuarioSerializer
urls.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))
]
当我做 post 时,我得到这个错误: UNIQUE 约束失败: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 通过 唯一 用户用户名创建用户时。