Напишите запрос django для выбора пользователей и упорядочивания пользователей по последнему разговору, который они вели?
Мои модели:
class User(models.Model):
id = models.UUIDField(primary_key=True)
first_name = models.Charfield()
class Conversation(models.Model):
id = models.UUIDField(primary_key=True)
user = models.ForeignKey(User, on_delete=models.SET_NULL, null=True)
class Message(models.Model):
id = models.UUIDField(primary_key=True)
conversation = models.ForeignKey(Conversation, on_delete=models.PROTECT, null=False)
text = models.TextField()
created_at = models.DateTimeField(auto_now_add=True, blank=True)
Я пытался упорядочить их, добавив аннотацию и добавив порядок по. Может ли кто-нибудь помочь мне выбрать всех пользователей и упорядочить их по последнему сообщению. Мне нужен пользователь с последним сообщением в пункте to и затем соответственно.
Попробуйте это
queryset = User.objects.all().order_by(
'-conversation__message__created_at'
).distinct()