سلام من برای اینکه از لاگین با تلفن همراه استفاده کنم به مدل customuser فیلد اضافه کردم و managerبراش ساختم الان خطای 1091به من میده
دوم اینکه من میخوام کاربر هم بتونه باusername,password وارد بشه هم با موبایل و رمز یکبار مصرف الان بااین مدل باید برای phone هم uniqe=trueبکنم ؟ اگر کد بهتر هست ممنون برام بزارید
class CustomUser(AbstractUser):
username = models.CharField(max_length=50, verbose_name='نام', blank=True, null=True, unique=True)
email = models.EmailField()
age = models.PositiveIntegerField(null=True, blank=True)
phone = models.BigIntegerField(verbose_name='موبایل', blank=True, null=True)
address = models.CharField(max_length=300, null=True, blank=True)
profile_image = models.ImageField(upload_to='profile/', null=True, blank=True)
postal_code = models.CharField(max_length=20, null=True, blank=True)
create = models.DateTimeField(auto_now_add=True, verbose_name='تاریخ', blank=True, null=True, )
USERNAME_FIELD = 'username'
REQUIRED_FIELDS = ['phone', 'email']
objects = CustomUserManager()
class Meta:
verbose_name = "کاربر"
verbose_name_plural = "کاربران"
def __str__(self):
return self.username
class CustomUserManager(BaseUserManager):
def create_user(self, email, username, phone, password):
if not email:
raise ValueError('plz input email')
if not username:
raise ValueError('plz input username')
if not phone:
raise ValueError('plz input phone')
user = self.model(email=self.normalize_email(email), username='username', phone='phone')
user.set_password(password)
user.save(using=self._db)
return user
def create_superuser(self, email, username, phone, password, **other_fields):
# user = self.create_user(email, username, phone, password)
other_fields.setdefault('is_staff', True)
other_fields.setdefault('is_active', True)
other_fields.setdefault('is_superuser', True)
if other_fields.get('is_staff') is not True:
raise ValueError('Superuser muse have is_staff=True')
if other_fields.get('is_superuser') is not True:
raise ValueError('Superuser muse have is_superuser=True')
return self.create_user(email, username, phone, password, **other_fields)
MySQLdb.OperationalError: (1091, "Can't DROP 'is_staff'; check that column/key exists")
به شیرین کمک کنید تا مشکل خودش را حل کند؛ اینطور میتوانیم با هم پیشرفت کنیم.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟