Я установил атрибут Meta для моей модели Django, считая, что Django будет использовать его при сравнении экземпляров. (ordering_number
является IntegerField в моей модели.)Заказ моделей Django
Например, если у меня есть экземпляр a
с ordering_number = 4
и экземпляр b
с ordering_number = 7
, я бы ожидать, что a < b
будет True
. Тем не менее, я протестировал его, и он, похоже, не работал. Я не понял, по какой логике a < b
выйдет True
.
Кто-нибудь знает? Почему Django не использует ordering
для сравнения элементов?
Хорошо, я сделал, и он работает. Но было бы неплохо сделать это автоматически для всех моделей Django? –
Файл RFE, если вы чувствуете это страстно об этом. http://code.djangoproject.com/ –
@ cool-RR: Это не очень хорошая идея. * Заказ по умолчанию * не обязательно означает, что оба объекта также сопоставимы. Например. на SO по умолчанию порядок пользователей определяется по имени, но, возможно, пользователь «больше», чем другой, в зависимости от его репутации. Это действительно вопрос контекста и просто применение порядка по умолчанию, так же как естественный порядок - это огромное вмешательство в бизнес-модель имо. –