Django: как получить последний созданный объект

#django #django-models

#django #django-модели

Вопрос:

Я хочу получить последний объект, созданный для определенного пользователя.

Допустим, у меня есть модель:

 class LogBookPreTransaction(models.Model):
    person = models.ForeignKey(User)
    code = models.CharField(max_length=20)
    address = models.CharField(max_length=200,null =True)
    pincode = models.CharField(max_length=20,null =True)
  

Теперь я хочу получить последний объект, созданный для пользователя = «X».
Как мы можем это сделать?

transaction_obj = LogBookPreTransaction.objects.filter(user = "x").latest()

Конечно, это не сработает, но я хочу что-то вроде этого. Вопрос ясен?

Ответ №1:

Вы можете использовать последнюю версию, только если у вас есть поле даты, которое у вас есть, поэтому попробуйте:

 LogBookPreTransaction.objects.filter(user = "x").latest('datetime')
  

Попробуйте также это, это может быть полезно, когда у вас нет поля даты:

 LogBookPreTransaction.objects.filter(user = "x").order_by('-id')[0]