Задать вопрос
dancha
@dancha
Обожаю python

Как изменить отображаемое название столбца в админке django?

У меня есть модель:
spoiler
class Customers(models.Model):
    URFACE = 'UR'
    FIZFACE = 'FI'
    FACE = (
        (URFACE, 'Юридическое лицо'),
        (FIZFACE, 'Физическое лицо'),
    )
    type = models.CharField(max_length=2, choices=FACE, default=FIZFACE)
    name = models.CharField(max_length=200, verbose_name='Имя')
    surname = models.CharField(max_length=200, verbose_name='Фамилия')
    patronymic = models.CharField(max_length=200, verbose_name='Отчество')
    dr = models.DateField(verbose_name='День рождения')
    pasno = models.CharField(max_length=200, verbose_name='Серия и номер паспорта')
    pasby = models.CharField(max_length=200, verbose_name='Кем выдан')
    pasdate = models.DateField(verbose_name='Дата выдачи паспорта')
    paskod = models.CharField(max_length=200, verbose_name='Код подразделения паспорта')
    address = models.CharField(max_length=200, verbose_name='Прописан')
    tel = models.CharField(max_length=200, verbose_name='Телефон')
    whereknow = models.ForeignKey(WhereInfo, on_delete=models.SET_NULL, null=True, verbose_name='Источник информации')

    # Фамилия И.О.
    def fio_min(self):
        return self.surname + ' ' + self.name[0] + '. ' + self.patronymic[0] + '.'


    # Дел на сумму
    def all_sum(self):
        from affairs.models import Affairs
        all_affairs = Affairs.objects.filter(customers=self.id)
        if all_affairs.exists():
            return all_affairs.aggregate(Sum('prise'))['sum__prise']
        else:
            return 0

    # Всего оплачено
    def all_sum_already(self):
        from affairs.models import Affairs
        all_affairs = Affairs.objects.filter(customers=self.id)
        if all_affairs.exists():
            return all_affairs.aggregate(Sum('prisealready'))['sum__prisealready']
        else:
            return 0

    # Общий долг
    def all_debt(self):
        from affairs.models import Affairs
        all_affairs = Affairs.objects.filter(customers=self.id)
        if all_affairs.exists():
            return all_affairs.aggregate(Sum('customers_debt'))['sum__customers_debt']
        else:
            return 0

    # ФИО
    def __str__(self):
        return self.surname + ' ' + self.name + ' ' + self.patronymic

    class Meta:
        verbose_name = 'Клиент'
        verbose_name_plural = 'Клиенты'

Я регистрирую её в админ панеле и хочу что бы отображалось только то что в методах ней, например Сокращенное ФИО, сумма по сделкам, сумма оплаченного и сумма долга.
Регистрирую я так:
spoiler
@admin.register(Customers)
class UserAccessAdmin(admin.ModelAdmin):
    list_display = ('fio_min', 'all_sum', 'all_sum_already', 'all_debt')

Все отображается но не понимаю? как сделать что бы поменять названия столбцов в панеле на свой, а не как название метода. На скрине обвел что я хочу поменять:
spoiler
5f47ada252c6e438453378.png
  • Вопрос задан
  • 1926 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
SoreMix
@SoreMix
yellow
Если не ошибаюсь, short_description для этого
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы