@Boldy

Почему не отображаются объекты в django админке?

Есть модель и её Admin:
class InviteBonus(models.Model):

    total = models.DecimalField(verbose_name='cумма платежа', blank=False, null=False, decimal_places=2, max_digits=12)
    use_date = models.DateField(verbose_name='дата платежа', blank=False)
    inviter = models.ForeignKey(TreeNode, verbose_name='пригласивший', related_name='bonuses')
    newbie = models.ForeignKey(TreeNode, verbose_name='приглашённый', related_name='awards')
    paid = models.BooleanField(default=False, verbose_name='выплачено')
    five_per_period = models.BooleanField(default=False, verbose_name='пять за период')
    line = models.PositiveIntegerField(verbose_name='линия')

class InviteBonusAdmin(admin.ModelAdmin):
    list_display = ('id', 'inviter', 'line', 'newbie', 'use_date', 'total', 'paid')
    list_filter = ('use_date', )
    search_fields = ('inviter__company_id', )


Когда я захожу в скписок InviteBonus'ов в админке - он показывает правильное количество существующих объектов этой модели и ссылки для перехода по 4 страницам, но сам список пустой. В чём дело? При этом если в list_display оставляю только id - всё отображается правильно
  • Вопрос задан
  • 4645 просмотров
Решения вопроса 1
@Boldy Автор вопроса
Проблема была в неправильном заполнении базы (делал вручную). Прошу прощения.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
Такое бывает, если вывод какого-либо из полей таблицы выкидывает исключение. Вы сами отметили, что при выводе одного лишь id в списке list_display всё нормально. Нужно добавлять по одному поля в list_display и понять, какое из полей даёт ошибку.

У меня такое было при использовании вычисляемых полей, то есть имён функций в list_display, если эти функции выкидывали исключение. У вас вроде таковых нет. Так что сие лишь предположение.
Ответ написан
Комментировать
qmax
@qmax
программер
Я бы предположил, что чтото не так с TreeNode.__unicode__
Админка вызывает этот метод для отображения foreign keys
Ответ написан
Комментировать
ali_aliev
@ali_aliev
Разработчик на Django/Python, JavaScript
admin.site.register делали?

from django.contrib import admin

from .models import InviteBonus, TreeNode


class InviteBonusAdmin(admin.ModelAdmin):
    list_display = ('id', 'inviter', 'line', 'newbie', 'use_date', 'total', 'paid')
    list_filter = ('use_date', )
    search_fields = ('inviter__company_id', )

admin.site.register(InviteBonus, InviteBonusAdmin)
admin.site.register(TreeNode)
Ответ написан
Ваш ответ на вопрос

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

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