У объекта 'QuerySet' нет атрибута 'date_start'. Django rest framework

Я новичок в Django. В моем проекте я хочу отфильтровать все комнаты со статусом available, затем я хочу, чтобы start_date была обновлена до текущего времени. Но я получаю следующую ошибку:

'QuerySet' object has no attribute 'start_date'

У меня есть следующий класс в models.py:

class RoomStatus(models.Model):

room = models.ForeignKey(Room, on_delete=models.DO_NOTHING)

  class RoomStatusChoices(models.IntegerChoices):

  AVAILABLE = 1
  UNAVAILABLE = 2

  room_status = 
  models.SmallIntegerField(choices=RoomStatusChoices.choices, 
  default=RoomStatusChoices.AVAILABLE)

  start_date = models.DateTimeField(auto_now=True)

В serializers.py я написал обновление с этим кодом

  available_rooms = RoomStatus.objects.filter(room=room, 
  room_status=RoomStatusChoices.AVAILABLE)
  print(available_rooms)  
  available_rooms.start_date = max(available_rooms.start_date, datetime.now())
 

Результатом print(available_rooms) является <QuerySet []>

Может ли кто-нибудь помочь мне? Спасибо, Индванс.

from django.db.models import Max
start_date_max = available_rooms.aggregate(Max('start_date'))

Теперь star_date_max будет декарточка типа {'start_date__max': date(.....)} ;подтвердите это... распечатайте ее и посмотрите.

теперь установим все start_date объекты в наборе запросов...

new_start_date = star_date_max["start_date__max"]
available_rooms.update(start_date=new_start_date)

должен выполнить работу.

Вернуться на верх