Выпадающий иностранный ключ в Admin возвращает __str__, могу ли я изменить его на другой столбец? [дубликат]
Вот моя установка:
# myapp.models
class Country(models.Model):
alpha2 = models.CharField(primary_key=True, max_length=2),
name = models.CharField(max_length=64,
def __str__(self):
return "%(alpha2)s %(name)s" % {"alpha2": self.alpha2, "name", self.name}
class Address(models.Model):
id = models.BigAutoField(primary_key=True)
province = models.CharField(max_length=64)
country = models.ForeignKey(Country, on_delete=models.PROTECT)
# myapp.admin
from django.contrib import admin
from .models import Address, Country
admin.site.register(Address)
admin.site.register(Country)
Когда я захожу на http://localhost:8000/admin и перехожу к add new Address, в выпадающем списке стран отображается вывод Country().__str__
(т.е. IN India
). У меня 2 вопроса:
- Я полагаю, что смогу выбирать, что показывать в выпадающем списке, если напишу свою собственную форму (не изменяя
__str__
). Верно ли это? - Могу ли я изменить то, что я хочу показать в админпанели, не изменяя
__str__
?