Переписывание стандартной модели User при настройке класса User

Ребята! Я использую стандартную модель User из django.contrib.auth.models import User.

Я хочу настроить модель User, в частности добавить поле с ForeignKey. Например:

class User(models.Model):
    this_users_team = models.ForeignKey(Team, null=True, on_delete=models.SET_NULL) 

Если я напишу этот код, django перезапишет стандартную модель User моими данными в базах данных или это вызовет проблемы? Еще раз, в моем коде нет ни одного класса User. Но я использую User в других моделях, например:

id_user = models.ForeignKey(User, null=True, on_delete=models.SET_NULL)

Не рекомендуется настраивать предоставленную модель пользователя.

Если вам не нужна пользовательская модель пользователя (например, подкласс от AbstractUser - который является копией стандартной модели пользователя, разработанной для возможности расширения), то самый простой способ расширить пользователя - это создать другую модель с отношением один к одному к ней.

class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, related_name="profile")
    team = models.ForeignKey(Team, null=True, on_delete=models.SET_NULL) 

С соответствующим именем можно обратиться к user.profile.team

Подробнее на эту тему в docs

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