Встречается на собеседованиях • сегодня
Какие знаешь варианты определения модели пользователя в Django
В Django модель пользователя можно определить несколькими способами:
-
Использование встроенной модели
User
Стандартная модель изdjango.contrib.auth.models. Подходит для базовых случаев, но не расширяема.pythonfrom django.contrib.auth.models import User -
Расширение
AbstractUser
Позволяет добавить свои поля, сохраняя стандартные. Требует указанияAUTH_USER_MODELв settings.py.pythonfrom django.contrib.auth.models import AbstractUser
class CustomUser(AbstractUser):
phone = models.CharField(max_length=20)
text
3. **Расширение `AbstractBaseUser`**
Полная кастомизация, включая замену стандартных полей (например, email вместо username).
```python
from django.contrib.auth.models import AbstractBaseUser, BaseUserManager
class MyUserManager(BaseUserManager):
def create_user(self, email, password=None):
# логика создания
pass
class MyUser(AbstractBaseUser):
email = models.EmailField(unique=True)
is_active = models.BooleanField(default=True)
objects = MyUserManager()
USERNAME_FIELD = 'email'- Связь OneToOne с
User
Дополнительная модель для хранения данных, если не нужно менять аутентификацию.pythonfrom django.contrib.auth.models import User class Profile(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) bio = models.TextField()

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы