У меня проблемы с пониманием того, почему возвращается Queryset в том порядке, в каком он есть. У нас есть список авторов статей, которые хранятся в таблице ManyToMany: articlepage_authors
Мы должны иметь возможность выбирать, по каждой статье, в каком порядке они возвращаются и отображаются.
Например, статья с идентификатором 44918 имеет авторов 13752 («Ли Боддинг») и 13751 («Марк Ли»).
Я вызвал их в оболочке, которая возвращает:
Out[6]: <QuerySet [<User: Mark Lee (MarkLee@uss778.net)>, <User: Lee Bodding (LeeBodding@uss778.net)>]>
Вызов это в postgres: SELECT * FROM articlepage_authors;
показывает, что пользователь Lee Bodding
id=13752
сохраняется первым в таблице.
id | articlepage_id | user_id
-----+----------------+---------
1 | 44508 | 7781
2 | 44508 | 7775
3 | 44514 | 17240
….
465 | 44916 | 17171
468 | 44918 | 13752
469 | 44918 | 13751
Независимо от того, что я пытаюсь, например. удаляя авторов, добавляя «Lee Bodding», сохраняя статью, затем добавляя «Mark Lee», и наоборот - я все еще могу получить только набор запросов, который сначала возвращает «Mark Lee».
Я не уверен, как еще отладить это.
Одним из решений было бы добавить другое поле, определяющее порядок авторов, но я хотел бы сначала понять, что здесь происходит. Кажется, что-то уже определяет порядок, и было бы лучше с этим справиться.