-
Непонятно почему все таки не работает то, что должно...
Я уже писал вот тут http://softwaremaniacs.org/forum/django/19832/
Итак первое, все таки дефолтное значение береться из модели...это доказано и проверено лично мной.Иван Сагалаев
Ага, всё просто, оказывается. Админка никогда не берёт дефолтный ordering из модели: либо свой, либо никакой.
Второе - непонимаю почему не выходит отсортировать записи сначала по месяцам, потом по годам (вроде бы это достаточно простое действие).
Чтобы было так:
2008 декабрь
2008 март
2007 ноябрь
Получется либо сортировка по годам либо по месяцам, но не результат работы и той и той... В зависимости от того что идет в ordering первым - 'jmonth' или '-jyear'class Journal(models.Model):
"""
Журналы
"""
CHOICES_MONTH = enumerate(
(
u"январь",
u"февраль",
u"март",
u"апрель",
u"май",
u"июнь",
u"июль",
u"август",
u"сентябрь",
u"октябрь",
u"ноябрь",
u"декабрь",
)
)
publish = models.BooleanField(verbose_name=u"Опубликовать", default=False)
jyear = models.PositiveIntegerField(verbose_name=u"Год выпуска", default=date.today().year)
jmonth = models.PositiveIntegerField(verbose_name=u"Месяц", choices=CHOICES_MONTH)
order = models.PositiveIntegerField(verbose_name=u"Номер по порядку", editable=False)
order_year = models.PositiveIntegerField(verbose_name=u"Номер по порядку(за текущий год)", editable=False)
def __unicode__(self):
return u"Выпуск №%s(%s) %s %sг." % (self.order, self.order_year, self.get_jmonth_display(), self.jyear)
class Meta:
ordering = ('jmonth', '-jyear')
unique_together = (('jyear', 'jmonth'), )
verbose_name = u"Журнал"
verbose_name_plural = verbose_name+u"ы" -
ordering в админке применяет только первое значение из модели. Чтобы над соответствующей колонкой показать направление сортировки =) Меняйте queryset, строящий список.
-
Спасибо за ответ. Вот этого я действительно не знал...
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
