Логика упорядочивания Django DateField в случае одинаковых значений DateField
Я пытаюсь понять, какова логика упорядочивания в django DateField в случае, если даты равны? У меня есть модель, в которой есть DateField и DateTimeField (нерелевантные поля убраны).
class Ad(models.Model):
title = models.CharField(max_length=50)
content = models.TextField()
created_at = models.DateField(default=timezone.now)
created_time = models.DateTimeField(default=timezone.now)
Упорядочение для модели выглядит следующим образом:
class Meta:
ordering = ['-created_time', '-created_at']
Обратите внимание, что ранее у меня вообще не было created_time = models.DateTimeField(default=timezone.now) и сортировка осуществлялась только через -created_at. Я добавил дополнительный DateTimeField только в целях тестирования, и он никак не повлиял на результат упорядочивания DateField.
Здесь вы можете увидеть порядок создания объектов в БД:

А это порядок, в котором объекты фактически упорядочены на ListView странице:
Поле slug в DB может быть использовано как ссылка, чтобы понять, какой объект в шаблоне соответствует какому объекту в DB.
Как видите, первый порядок DateTimeField работает как ожидалось, однако упорядочивание по DateField не совпадает с порядком в БД.
Интереснее всего то, что если я зайду в свой UpdateView и обновлю содержимое объектов "Summernote" (не связываясь с датами), то упорядочение снова изменится, хотя даты и время в БД не менялись.
Посмотрите разницу в порядке после каждого обновления объекта (каждый столбец - это разные снимки из одного и того же представления после обновления объекта):

Нет изменений в БД, чтобы проиллюстрировать, что ни DateField, ни DateTimeField не были изменены после обновления объекта:

У меня есть пользовательский набор запросов в моем ListView, но он не влияет на упорядочивание, насколько я могу судить
def get_queryset(self):
shifts = re.findall('standard|shifts|other', self.request.path)
queryset = super(ListAd, self).get_queryset()
queryset = queryset.filter(city=self.kwargs['city'], category=self.kwargs['category'],
shift__in=shifts,
expire__gte=date.today(),
publish_status=True)
return queryset
Почему странное и кажущееся непоследовательным упорядочивание в случае равных дат? Какие еще аспекты учитывает django при упорядочивании объектов, имеющих равные DateField значения?
