如果您想摆脱该username字段并email用作唯一的用户标识符,则必须创建一个User扩展自定义模型,AbstractBaseUser而不是AbstractUser。确实,username并且email是在中定义的AbstractUser,您不能覆盖它们。这意味着您还必须重新定义要在中定义的所有字段AbstractUser。
from django.contrib.auth.models import ( AbstractBaseUser, PermissionsMixin, BaseUserManager, ) fromdjango.dbimport models fromdjango.utilsimport timezone from django.utils.translation import ugettext_lazy as _ class UserManager(BaseUserManager): use_in_migrations = True def _create_user(self, email, password, **extra_fields): if not email: raise ValueError('The given email must be set') email = self.normalize_email(email) user = self.model(email=email, **extra_fields) user.set_password(password) user.save(using=self._db) return user def create_user(self, email, password=None, **extra_fields): extra_fields.setdefault('is_staff', False) extra_fields.setdefault('is_superuser', False) return self._create_user(email, password, **extra_fields) def create_superuser(self, email, password, **extra_fields): extra_fields.setdefault('is_staff', True) extra_fields.setdefault('is_superuser', True) if extra_fields.get('is_staff') is not True: raise ValueError('Superuser must have is_staff=True.') if extra_fields.get('is_superuser') is not True: raise ValueError('Superuser must have is_superuser=True.') return self._create_user(email, password, **extra_fields) class User(AbstractBaseUser, PermissionsMixin): """PermissionsMixin contains the following fields: - `is_superuser` - `groups` - `user_permissions` You can omit this mix-in if you don't want to use permissions or if you want to implement your own permissions logic. """ class Meta: verbose_name = _("user") verbose_name_plural = _("users") db_table = 'auth_user' # `db_table` is only needed if you move from the existing default # User model to a custom one. This enables to keep the existing data. USERNAME_FIELD = 'email' """使用电子邮件作为唯一的用户名。""" REQUIRED_FIELDS = ['first_name', 'last_name'] GENDER_MALE = 'M' GENDER_FEMALE = 'F' GENDER_CHOICES = [ (GENDER_MALE, _("Male")), (GENDER_FEMALE, _("Female")), ] email = models.EmailField( verbose_name=_("email address"), unique=True, error_messages={ 'unique': _( "A user is already registered with this email address"), }, ) gender = models.CharField( max_length=1, blank=True, choices=GENDER_CHOICES, verbose_name=_("gender"), ) first_name = models.CharField( max_length=30, verbose_name=_("first name"), ) last_name = models.CharField( max_length=30, verbose_name=_("last name"), ) is_staff = models.BooleanField( verbose_name=_("staff status"), default=False, help_text=_( "指定用户是否可以登录此管理站点。" ), ) is_active = models.BooleanField( verbose_name=_("active"), default=True, help_text=_( "指定是否应将此用户视为活动用户。 " "取消选择它而不是删除帐户。" ), ) date_joined = models.DateTimeField( verbose_name=_("date joined"), default=timezone.now, ) objects = UserManager()
StackTrace: 追踪(最近的调用是最后一次):文件“manage.py”,第22行,在execute_from_command_line(sys.argv)文件“/home/dean/.local/lib/python3.5/site-packages/django/core/management/init.py”中,第363行,在execute_from_command_line uti
如上所述,我的XSL中只定义了一个命名空间,如下所示 xml: xsi="w3.org/2001/XMLSchema-instance" 但是,我的输出XML有2个命名空间,如下所示 xsi="w3.org/2001/XMLSchema-instance"xmlns: mea="ibm.com/maximo" 我可以摆脱xmlns: mea="ibm.com/maximo"
我有JavaWebService代码在我的eclipse。我使用了@WebService@Webmethod,@XmlElements,@XmlType,@XmlAccessorType 现在我正在使用cxf框架中的java2ws命令生成wsdl。这是命令 我的wsdl文件包含agr0作为我不想要的名称,因为当我将其导入SoapUI时。它正在字段周围添加标记。 下面是带有arg0的wsdl部分 下
问题内容: 分类法是一门基于共有特征来定义和命名生物有机体的科学。将有机体分类为分类群(单数:分类群),并且将这些分类分类。现代使用的主要等级是域,王国,门,阶级,秩序,家庭,属和物种。Wikipedia中有关分类学和分类学等级的更多信息。 在 Wikipedia 中的 分类分类中* 的 红狐狸 示例之后,我需要创建一个JSON输出,如下所示: * __ 由于Django的REST框架创建一个基于
问题内容: 我正在使用Apache Derby嵌入式数据库在Maven项目中进行单元测试。不幸的是,每当运行测试时,我最终都会在项目根目录中找到该文件。数据库本身是在目录()中创建的,因此这不是问题。在查阅参考指南之后, 我尝试在JDBC url()上设置参数,但这似乎是针对其他日志的,因此仍然会出现。 任何帮助深表感谢。 问题答案: 您可以通过创建以下类来摆脱文件 并设置JVM系统属性,例如,使
在这段代码中,我从\u RETURN\u VALUE得到了\u SOME\u PATH\u上的