Неправильное создание пользователя Django
Я создал пользователей внутри представления администратора с моей пользовательской моделью User:
class User(AbstractUser):
phone_number = models.CharField(max_length=64)
department = models.CharField(max_length=128)
misc_settings = models.JSONField(null=True, blank=True)
RelatedGroup = models.ManyToManyField(Group, related_name='GroupMember')
когда я создал их, они появились там и, кажется, имеют все, что я хотел, имя пользователя и id/pk:
[это скриншот админки] https://i.stack.imgur.com/RqJEB.jpg)
Однако, когда я пытаюсь проверить их наличие в оболочке, кажется, что они не существуют должным образом?
In [1]: from accounts.models import User
In [2]: antoine = User(id=4)
In [3]: antoine.id
Out[3]: 4
In [4]: b = User(username="antoine")
In [5]: b.id
In [6]: b.username
Out[6]: 'antoine'
In [7]: antoine.username
Out[7]: ''
Мне нужно, чтобы у них было и имя пользователя, и id, почему у них этого нет?
Честно говоря, я довольно новичок в django и базах данных, поэтому я не понимаю, почему этот прямой подход не работает
type here
Потому что ваши команды только для создания объектов.
b = User(username="antoine")
Приведенная выше команда создает экземпляр User с именем пользователя, равным 'antoine'. Все остальные значения не существуют, кроме тех, которые созданы по умолчанию
Если вы хотите проверить ваши объекты, которые хранятся в базе данных (те, которые отображаются на странице администратора Django), вам нужно использовать оболочку, чтобы сделать запрос :
from accounts.models import User
obj = User.objects.get(id=4)
obj.id
obj.username