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 通过 唯一 用户用户名创建用户时。