Я хочу код блога с Django. Модель пользователя по умолчанию не подходит для моего блога, я хочу закодировать моего собственного пользователя.django не может создать суперпользователя
from django.contrib.auth.models import AbstractBaseUser, BaseUserManager
from django.db import models
class MyUserManager(BaseUserManager):
def create_superuser(self, email, username, password, created_at):
user = self.create_user(email=email,
username=username,
password = password,
created_at = created_at
)
user.is_admin = True
user.save(using=self._db)
return user
class MyUser(AbstractBaseUser):
email = models.EmailField(
verbose_name = 'email address',
max_length = 255,
unique = True,
)
username = models.CharField(
max_length = 100,
unique = True,
db_index = True,
)
created_at = models.DateField()
is_active = models.BooleanField(default = True)
is_admin = models.BooleanField(default = False)
objects = MyUserManager()
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['username']
def get_full_name(self):
return self.email
def get_short_name(self):
return self.username
def __unicode__(self):
return self.email
def has_perm(self, perm, obj=None):
return True
def has_module_perms(self, app_label):
return True
@property
def is_staff(self):
return self.is_admin
У него есть ошибка.
Я следую инструкциям по обучению. Я не знаю, почему эта проблема возникает.
Я размещаю модель MyUser, надежда может помочь ответить на этот вопрос.
Что я могу сделать?
Как вы звоните в 'create_superuser' метод? –
С 3 аргументами. Я предполагаю, что вы опускаете 'created_at', когда вы вызываете этот метод. – RickyA
Публикация модели MyUser будет полезна для ответа. – moonstruck