Я работал над моделью расширенного пользователя в моем проекте Django 2.1.Мне любопытно узнать, является ли способ, которым я импортирую свою модель CustomUser в другую модель (для использования в качестве ForeinKey), является правильным способом сделать это.
В прошлом я встречал словоблудие, указывающее на то, что неправильно импортировать модель User из приложения администратора, а импортировать ее из django.conf.
пример импорта из базыМодель пользователя:
from django.conf import settings
User = settings.AUTH_USER_MODEL
...
class <ModelName>(models.mode):
user = ForeignKey(User, on_delete=models.CASCADE, default=1)
Теперь, когда я использую модель CustomUser (расширяя AbstractUser),
users / models.py:
class CustomUser(AbstractUser):
objects = CustomUserManager()
def __str__(self):
return self.username
Лучше ли это практиковатьчтобы импортировать эту модель через настройки (как показано выше) или как я делаю это ниже (в моем приложении Post) правильный путь к ней:
posts / models.py:
from users.models import CustomUser
class Post(models.Model):
user = models.ForeignKey(CustomUser, on_delete=models.CASCADE, default=1)
Я предполагаю, что это неправильный путь, но я не уверен, почему, может кто-то дать мне знать, почему вышеизложенное не является наилучшей практикой?Примечание: это делает работу, хотя.
Спасибо!