錯誤是:
錯誤: <class 'registerapp.admin.UserAdminConfig'>: (admin.E012) 'fieldets[1][1]'中有重復的欄位。 <class 'registerapp.admin.UserAdminConfig'>: (admin.E012) 'fieldsets[2][1]'中有重復的欄位。
。
btw 我必須告知,我在我的模型中使用了mobileNumber作為unique=True
from django.contrib import admin
from registerapp.models import Members
from django.contrib.auth.admin import UserAdmin
class UserAdminConfig(UserAdmin)。
search_fields = ('email', 'name', 'mobileNumber', )
list_filter = ('email'/span>, 'name'/span>, 'mobileNumber'/span>, 'nationalCode'/span>,)
ordering = ('email',)
list_display = ('email'/span>, 'familyName'/span>, 'mobileNumber', 'nationalCode', 'is_active', 'is_staff')
fieldsets = (
(None, {'field': ('name', 'familyName')}) 。
('用戶資訊', {' fields': ('email'/span>, 'name'/span>, 'familyName'/span>, 'mobileNumber', 'password', 'nationalCode')})。)
('Permissions', {'field': ('is_staff', 'is_active', 'is_superuser', 'group')}) 。
)
add_fieldsets = (None, {
'classes': ('wide',),
'field': ('email', 'name', 'familyName', '手機號碼', '密碼', '國家代碼')
})
admin.site.register(Members, UserAdminConfig)
我的模型
class customMemberManager(BaseUserManager)。
def create_user(self, email, mobileNumber, name, familyName, password, nationalCode, **other_fields)。)
如果不是電子郵件。
raise ValueError('YOU MUST ENTER VALID EMAIL' )
email = self.normalize_email(email)
user = self. model(email=email, mobileNumber=mobileNumber, name=name, familyName=familyName, password=password。
nationalCode=nationalCode, **other_fields)
user.set_password(password)
user.save()
回傳用戶
def create_superuser(self, email, mobileNumber, name, familyName, password, nationalCode, **other_fields)。)
other_fields.setdefault('is_staff'/span>, True)
other_fields.setdefault('is_superuser', True)
other_fields.setdefault('is_active'/span>, True)
如果other_fields.get('is_staff')不是True。
raise ValueError('superuser must be is_staff set to True' )
如果other_fields.get('is_superuser')不是True。
raise ValueError('superuser must be is_superuser set to True ' )
return self. create_user(email, mobileNumber, name, familyName, password, nationalCode, **other_fields)
class Members(AbstractBaseUser, PermissionsMixin)。
class Meta。
verbose_name_plural = 'Members'。
name = models.CharField(max_length=50)
familyName = models.CharField(max_length=50)
email = models.EmailField(max_length=50)
nationalCode = models.IntegerField(null=True)
mobileNumber = models.IntegerField(null=True, unique=True)
is_staff = models.BooleanField(default=False)
is_active = models.BooleanField(default=False)
is_superuser = models.BooleanField(default=False)
objects = customMemberManager()
USERNAME_FIELD = 'mobileNumber' 。
REQUIRED_FIELDS = ['nationalCode', 'familyName', 'name', 'email']
def __str__(self) 。
return self.name.__str__()
uj5u.com熱心網友回復:
正如錯誤所說,你在欄位集里有重復的欄位。 第一個欄位集 "None "有 "name "和 "familyName",第二個欄位集 "用戶資訊 "又有 "name "和 "familyName"。
嘗試從第一個或第二個欄位集中洗掉 "姓名 "和 "家庭名"
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/307465.html
標籤:
上一篇:DjangoRestFramework用戶擁有的物件:修改相關物件
下一篇:Django表格的清潔資料
