Ошибка имени_поля при переносе в базу данных - PullRequest
0 голосов
/ 26 апреля 2020

Я реализовывал пользовательскую модель django, но во время миграции она выдает ошибку USERNAME_FILED. Также поле имени пользователя четко упоминается в классе учетной записи. Я расширяю пользовательскую модель django для создания блог, как веб-сайт.

account/models.py

from django.db import models
from django.db import models
from django.contrib.auth.models import BaseUserManager,AbstractBaseUser

class MyAccountManager(BaseUserManager):
    def create_user(self, email, username, password = None):
        if not email:
            raise ValueError('Users must have an email')
        if not username:
            raise ValueError('Users must have a username')
        user = self.model(email=self.normalize_email(email),username=username)
        user.set_password(password)
        user.save(using=self._db)
        return user
    def create_superuser(self,email,username,password):
        user = self.create_user(email=self.normalize_email(email),password=password,username=username)
        user.is_admin = True
        user.is_staff = True
        user.is_superuser = True
        user.save(using=self._db)
        return user



class Account(AbstractBaseUser):
    email = models.EmailField(verbose_name='email', max_length=60,unique=True)
    username = models.CharField(max_length=30, unique=True)
    date_joined = models.DateTimeField(verbose_name='date joined', auto_now_add=True)
    last_login = models.DateTimeField(verbose_name='last login', auto_now=True)
    is_admin = models.BooleanField(default=False)
    is_active = models.BooleanField(default=True)
    is_staff = models.BooleanField(default=False)
    is_superuser = models.BooleanField(default=False)
    # firstname = models.CharField(max_length=30)

    USERNAME_FILED = 'email'
    REQUIRED_FIELDS = ['username',]#firstname

    objects = MyAccountManager()
    def __str__(self):
        return self.email
    def has_perm(self,perm, obj=None):
        return self.is_admin
    def has_module_perms(self,app_label):
        return True


AttributeError: type object 'Account' has no attribute 'USERNAME_FIELD'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...