繁体   English   中英

django.core.exceptions.FieldError:为配置文件指定了未知字段(电子邮件)

[英]django.core.exceptions.FieldError: Unknown field(s) (email) specified for Profile

我正在尝试自定义djoser的createuser端点。 为此,我已经在此链接https://github.com/jcugat/django-custom-user下安装了django定制用户。 这是我的models.py

from django.db import models
from custom_user.models import AbstractBaseUser


class Profile(AbstractBaseUser):
    account_address = models.CharField(max_length=30, blank=True)

和serializers.py

from djoser.serializers import UserCreateSerializer as BaseUserRegistrationSerializer


class UserRegistrationSerializer(BaseUserRegistrationSerializer):
    class Meta(BaseUserRegistrationSerializer.Meta):
        fields = ('url', 'id', 'email', 'first_name', 'account_address', 'password')

并且在app.admin.py中,我已经按照以下方式进行了注册。

from django.contrib import admin
from custom_user.admin import UserAdmin
from .models import Profile


class MyCustomEmailUserAdmin(UserAdmin):
    """
    You can customize the interface of your model here.
    """
    pass


# Register your models here.
admin.site.register(Profile, UserAdmin)

但是,当我尝试进行迁移时,我遇到以下错误。 在此处输入图片说明

任何线索这是怎么了?

从外观上看,您的设置中似乎包含以下内容:

AUTH_USER_MODEL = "your_app.Profile"

对于您的配置文件模型,您将从AbstractBaseUser继承,而AbstractBaseUser实际上是from django.contrib.auth.models import AbstractBaseUser继承的。

我相信您打算继承AbstractEmailUser 因此,您的“个人资料”模型实际上将是:

from custom_user.models import AbstractEmailUser


class Profile(AbstractEmailUser):
    account_address = models.CharField(max_length=30, blank=True)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM