django - Django Rest Framework (auth_user.username) 上的错误 POST 请求
问题描述
我尝试通过 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 = ('email',
'password')
视图.py:
class Registrar(mixins.CreateModelMixin, viewsets.GenericViewSet):
serializer_class = UsuarioSerializer
网址.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...
模型.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 创建用户上。
推荐阅读
- sql - SQL 查询未显示我想要的预期结果
- python - 如何访问 NPZ 文件中的元素
- visual-studio-code - VSCode 忙/运行指示器在线
- excel - 将 Excel 工作表导出到 Access 表中并覆盖(或重命名并新建)
- apache-flink - 重启flink,导致HA模式下数据丢失
- jenkins - Jenkins 在手动触发时启动 2 个构建
- java - 修改并行流java中的本地列表
- javascript - 在 d3.js 中切片数据
- indexing - T-SQL 唯一索引 - 唯一分类 - 需要的建议
- sql - 仅当它是完整日期时才将 varchar 转换/转换为日期