Consulta do Django usando .order_by () e .latest ()

Eu tenho um modelo:

class MyModel(models.Model):
   creation_date = models.DateTimeField(auto_now_add = True, editable=False)

   class Meta:
      get_latest_by = 'creation_date'

Eu tinha uma consulta na minha opinião que fazia o seguinte:

instances = MyModel.objects.all().order_by('creation_date')

E depois eu queriainstances.latest(), mas não me deu a instância correta, na verdade, me deu a primeira instância. Somente quando defino order_by como-creation_date ou realmente removeu o order_by da consulta.latest() me dê a instância correta. Isso também acontece quando eu testo isso manualmente usando o shell python manage.py, em vez de na exibição.

Então, o que eu fiz agora é no Meta do modelo que eu listeiorder_by = ['creation_date'] e não usado isso na consulta, e que funciona.

Eu teria esperado.latest() para sempre retornar a instância mais recente com base em um campo (data) (hora). Alguém poderia me dizer se é correto que.latest() se comporta estranhamente quando você usaorder_by na consulta?

questionAnswers(3)

yourAnswerToTheQuestion