-
Есть две модели... Как в админке отсортировать Article по journal.year
или как альтернатива можно ли написать свой ordering?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)
year = models.PositiveIntegerField(verbose_name=u"Год выпуска", default=date.today().year)
month = models.PositiveIntegerField(verbose_name=u"Месяц", choices=CHOICES_MONTH)
class Article(models.Model):
"""
Статьи журнала
"""
journal = models.ForeignKey(Journal, verbose_name=u"Журнал")
rubric = models.ForeignKey(Rubric, verbose_name=u"Рубрика")
authors = models.ManyToManyField(Authors, verbose_name=u"Авторы", blank=True)
keywords = models.ManyToManyField(Keywords, verbose_name=u"Ключевые слова", blank=True)
title = models.CharField(verbose_name=u"Заголовок", max_length=250)
udk = models.CharField(verbose_name=u"УДК", max_length=10, blank=True)
bbk = models.CharField(verbose_name=u"ББК", max_length=10, blank=True)
annotation = CKEditorField(verbose_name=u"Аннотация", blank=True)
text = CKEditorField(verbose_name=u"Текст")
bibliography = CKEditorField(verbose_name=u"Библиография", blank=True)
title_en = models.CharField(verbose_name=u"Заголовок (En)", max_length=250, blank=True)
annotation_en = CKEditorField(verbose_name=u"Аннотация (En)", blank=True)
bibliography_en = CKEditorField(verbose_name=u"Библиография (En)", blank=True)
order = PositionField(verbose_name=u"Порядок") -
ordering = ['journal__year'] -
А вы уверены что это работает..? я вначале так и подумал что нужно просто использовать модель__модель, но что-то без результатно...
В доках кстати ни слова про модель__модель в ordering... -
pkolt, проверить не получается?
-
Ну у меня сортировка была такая ordering = ['order', 'journal__year']
Article выстраивались по order... но по идее если бы journal__year отработал, они бы упорядочились по годам.
Вы сами используете нотацию ordering = ['модель_модель',] в admin.py? у вас она работает? -
Насколько я помню,
это зарезервированный Django'й lookup. Быть может проблема как раз из-за этого?__year
PS. Сортировка по model__field работает. -
Хм... хорошо я проверю... публиковали бы еще они список своих зарезервированных слов, где-нибудь на сайте.
-
Всё есть в исходниках :)
-
публиковали бы еще они список своих зарезервированных слов, где-нибудь на сайте.
http://docs.djangoproject.com/en/dev/ref/models/querysets/#id7
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.


