Я не могу получить заказной порядок по умолчанию для экземпляров моей модели страницы. Они всегда сортируются по возрастанию pk
.
Это приводит к неинтуитивным выпадающим спискам, выборам (например, CheckboxSelectMultiple
) и т. Д .; особенно когда есть много предметов / экземпляров.
Вариант использования: модель AuthorPage
и модель PublicationPage
:
class AuthorPage(Page):
first_name = CharField(max_length=255)
last_name = CharField(max_length=255)
class Meta:
ordering = ['last_name', 'first_name']
class ArticlePage(Page):
authors = ParentalManyToManyField('AuthorPage',)
content_panels = Page.content_panels + [
FieldPanel('authors', widget=CheckboxSelectMultiple),
]
Мне нравится, что мой CheckboxSelectMultiple
соблюдает мета-порядок соответствующей модели, здесь AuthorPage
и отображает упорядоченный по алфавиту список авторов. Но вместо этого я получаю этот список в порядке pk
экземпляров автора. Кажется, ordering
в классе AuthorPage
не оценивается / не используется.
Такой же (нежелательный) порядок появляется в выпадающих списках авторов и в оболочке python при проверке набора запросов AuthorPage
по умолчанию (AuthorPage.objects.all()
).
Как заставить трясогузку упорядочить экземпляры модели моей страницы по пользовательским критериям (не pk
)?
Установка:
- Джанго 2.0.8
- трясогузка 2.2.2