Давайте предположим, что у меня есть следующие:Для Charfield с выбором, как использовать человекообразное имя в list_display через foreignkey?
models.py:
VALUE_CHOICES = (('0', 'ZERO'),
('1', 'ONE'))
class ModelA(models.Model):
def val(self):
return self.model_b.value or ''
class ModelB(models.Model):
modela = models.OneToOneField(ModelA, related_name="model_b", null=False)
value = models.CharField(choices = VALUE_CHOICES)
и
admin.py:
class ModelAAdmin(ModelAdmin):
list_display = ['val']
Когда я пытаюсь для отображения ModelA
список на сайте администратора, который он отображает 0
или 1
, а не ZERO
или ONE
.
Как я могу изменить это, чтобы оно отображало человекообразное имя от VALUE_CHOICES
в списке с сайта администратора?
@vmonteco извините мой плохой. Я 'val' - обычное поле. Не заметил, что это метод :) – alix
Нет проблем! get_foo_display() - единственное, что мне действительно нужно. Я также пробовал с 'list_display = ['movel_b__get_value_display']' хотя и не работал. :) – vmonteco
'list_display = ['model_b__get_value_display']' * sorry – vmonteco