1. pkoltru

    10.03.2010

    0 ↑
    0 ↓
    Непонятно почему все таки не работает то, что должно...
    Я уже писал вот тут http://softwaremaniacs.org/forum/django/19832/
    Иван Сагалаев
    Ага, всё просто, оказывается. Админка никогда не берёт дефолтный ordering из модели: либо свой, либо никакой.
    Итак первое, все таки дефолтное значение береться из модели...это доказано и проверено лично мной.

    Второе - непонимаю почему не выходит отсортировать записи сначала по месяцам, потом по годам (вроде бы это достаточно простое действие).

    Чтобы было так:
    2008 декабрь
    2008 март
    2007 ноябрь
    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 первым - 'jmonth' или '-jyear'
  2. truetug.ya.ru

    10.03.2010

    0 ↑
    0 ↓
    ordering в админке применяет только первое значение из модели. Чтобы над соответствующей колонкой показать направление сортировки =) Меняйте queryset, строящий список.
  3. pkoltru

    10.03.2010

    0 ↑
    0 ↓
    Спасибо за ответ. Вот этого я действительно не знал...

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.