Могу ли я удалить существующие поля или добавить некоторые другие поля в стандартную базу данных пользователей в 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 с аутентификацией по электронной почте

Вернуться на верх