Заказ моделей Django - PullRequest
       1

Заказ моделей Django

0 голосов
/ 26 февраля 2010

Я установил мета-атрибут ordering='ordering_number' для моей модели Django, думая, что Django будет использовать его при сравнении экземпляров. (ordering_number - это IntegerField в моей модели.)

Например, если у меня есть экземпляр a с ordering_number = 4 и экземпляр b с ordering_number = 7, я бы ожидал, что a < b будет True. Тем не менее, я проверил это, и это не сработало. Я не понял, по какой логике a < b получится True.

Кто-нибудь знает? Почему Django не использует ordering для сравнения элементов?

1 Ответ

2 голосов
/ 26 февраля 2010

С документация :

Порядок по умолчанию для объекта, для использования при получении списков объектов

Итак, причина, по которой ваши сравнения не работают, заключается в том, что они не разработаны таким образом. Определите __lt__() и др. Для определения порядка экземпляров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...