Непонятно, как должна работать django date_hierarchy - PullRequest
0 голосов
/ 04 июня 2019

У меня есть модель Django 2.0 с полем даты и времени, которое называется «создан». Я установил date_hierarchy в admin для этого поля. Когда я отображаю страницу администратора, иерархия дат отображается в соответствии с ожиданиями - апрель 2019, май 2019, июнь 2019. У меня есть три элемента в модели, каждый с созданной датой в апреле, мае и июне.

Когда я нажимаю на любую из дат в ссылке date_hierarchy, я ожидаю, что страница администратора изменится и покажет только один элемент, который имеет ту же дату создания, что и месяц, на который я нажал. Тем не менее, все три записи все еще отображаются. Правильно ли работает date_hierarchy или мои ожидания неверны?

Я создал тестовую модель и администратора для иллюстрации моего вопроса.

class Fred(Model):
    name = models.CharField('name', max_length=200)
    created = models.DateTimeField(auto_now_add=True, editable=False, verbose_name="date created")
    updated = models.DateTimeField(auto_now=True, editable=False, verbose_name="last update") 

class FredAdmin(admin.ModelAdmin):
    date_hierarchy = 'created'
    list_display = ('name', 'created', 'updated',)

Итак, страница администратора выглядит следующим образом

enter image description here

Три записи с тремя разными «созданными» датами. В data_hierarchy администратора отображаются ссылки «все даты», «апрель 2019», «май 2019» и «июнь 2019», соответствующие трем созданным датам.

Я ожидаю, что нажатие на ссылку «Апрель 2019» ограничит отображение администратором только тех элементов в модели Фреда с датами создания в апреле. Но, увы, ни одна из строк модели не отображается, как показано ниже. То же самое происходит, когда я нажимаю ссылки «Май» или «Июнь» - в модели Fred не отображаются записи.

enter image description here

Итак, какова ожидаемая операция административной функции date_hierarchy? Поведение, которое я наблюдаю, кажется не очень полезным.

Примечание: это поведение date_hierarchy не то, что я первоначально описал выше. Но это поведение (в моем реальном проекте) тоже было не очень полезным! Кстати, я использую ту же виртуальную среду Python 3.7 и ту же базу данных mysql (Ver 14.14 Distrib 5.7.26, для Linux (x86_64)) в качестве основного проекта. Просто было проще добавить эту модель Фреда и FredAdmin в мой проект, чтобы проиллюстрировать мой вопрос, чем перечислять все на моих реальных моделях и страницах администратора.

Спасибо!

Mark

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...