@gromyko21

Как отсортировать родительские объекты по дочерним?

Есть 2 модели:
class Chat(models.Model):
    members = models.ManyToManyField(User, verbose_name="Участник", related_name='members')


class Message(models.Model):
    author = models.ForeignKey(User, verbose_name="Отправитель", on_delete=models.CASCADE)
    recipient = models.ForeignKey(Chat, related_name='received_messages', verbose_name="Получатель", 
on_delete=models.CASCADE)

Message привязана к chat. И мне нужно отсортировать chat под последнему сообщению.
Сейчас моя сортировка работает по времени создания чата
messages = Chat.objects.order_by('-pk').filter(members=request.user)
  • Вопрос задан
  • 173 просмотра
Решения вопроса 1
@reqww
Добавь к сообщению время отправки
а по итогу сортировка будет такой:
Chat.objects.order_by('received_messages__timestamp')
Если timestamp - поле в Message типа models.DateTimeField
P.S. Возможен минус в начале
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы