Как показать имя пользователя в форме администратора django для подключенной модели?
У меня есть две модели, одна - модель пользователя, другая - модель автомобиля.
class User(models.Model):
id = models.BigAutoField(primary_key=True)
username = models.CharField(max_length=50, verbose_name="User Name")
class Cars(models.Model):
id = models.BigAutoField(primary_key=True)
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='cars')
Теперь на странице /admin/app/cars/1/change/
я хочу видеть имя пользователя как обычный текст в этой форме под выпадающим списком пользователей.
Я пробовал с inline stack, но это не сработало, и выдает ошибку, User
должен быть внешним ключом к Cars
.
Текст, отображаемый в панели администратора, определяется функцией __str__
, поэтому добавление чего-то вроде
def __str__(self):
return self.username
вашей модели пользователя должно быть достаточно
сделайте это
class Cars(models.Model):
id = models.BigAutoField(primary_key=True)
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='cars')
def __str__(self):
return self.user.username