Могу ли я удалить существующие поля или добавить некоторые другие поля в стандартную базу данных пользователей в Django?, Также могу ли я войти в систему, используя email вместо имени пользователя?
Я хочу создать базу данных для моего проекта, используя стандартную базу данных django 'user' и я обнаружил, что django имеет первичный ключ username и некоторые поля не являются обязательными, если я могу добавить дополнительные поля к существующей базе данных 'user', это было бы замечательно...
Я хочу войти в систему, используя электронную почту вместо имени пользователя, и хочу изменить некоторые поля на обязательные. Также я могу добавить поля "адрес" и "мобильный"?
Я использую Django 3.5.2
Я пробовал добавлять новые поля, используя следующее, но так и не смог найти способ изменить первичный ключ и обязательные поля
<
class CustomerUserForm(forms.ModelForm):
class Meta:
model=User #django default model
fields=['first_name','last_name','password','email','username']
widgets = {
'password': forms.PasswordInput()
}
class CustomerForm(forms.ModelForm):
class Meta:
model= models.CRegistration
fields=['address','mobile','profile_pic']
<
class CRegistration(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, null=True)
profile_pic = models.ImageField(upload_to='profile_pic/CustomerProfilePic/', null=True, blank=True)
address = models.CharField(max_length=100)
mobile = models.CharField(max_length=20) #null=True
status = models.BooleanField(default=False)
Да, вы можете настроить таблицу пользователей в django. Также вы можете аутентифицироваться с помощью email
Вот ссылка ниже, в этой статье объясняется именно то, что вам нужно. Обратитесь к документации django для получения дополнительной информации
Пользовательский пользователь Django с аутентификацией по электронной почте