Django orm prefetch_related последние данные
Реферат: django - предварительная выборка только самой новой записи?
Здравствуйте, я хочу выводить только последнее сообщение среди написанных мною сообщений.
Модели
class Room(models.Model):
host = models.ForeignKey(Company, related_name="room_host", on_delete=models.CASCADE)
member = models.ForeignKey(Company, related_name="room_member", on_delete=models.CASCADE)
status = models.PositiveIntegerField(default=0)
created_at = models.DateTimeField(auto_now_add=True, null=True)
updated_at = models.DateTimeField(auto_now=True, null=True)
class Message(models.Model):
room = models.ForeignKey(Room, on_delete=models.CASCADE, related_name="message")
sender = models.ForeignKey(USER, on_delete=models.CASCADE, related_name="sender")
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True, null=True)
updated_at = models.DateTimeField(auto_now=True, null=True)
Мой код
last_msg_pk = Message.objects.filter(
sender__company_code=user.company_code
).values("id")
room = Room.objects.filter(
member=request.user.company_code
).prefetch_related(
Prefetch(
"message",
queryset=Message.objects.filter(pk__in=last_msg_pk),
to_attr="msg"
),
)
for i in room:
print(i.msg)
[167 136 89 3]
[1 15 20]
Я привел все сообщения... Я просто хочу принести сообщение, которое я написал недавно. Что мне делать?