Здравствуйте! Помогите пожалуйста разобраться.
Есть модель данных Project (Проект). У каждого проекта есть скажем так разделы. Если быть точнее то модели данных (Сharacterictic, Task) связанные с проектом. Пользователи могут оставлять комментарии к объектам/записям модель данных Сharacterictic, Task. Информация о комментариях хранится в модели Сomment.
Необходимо отсортировать (order_by) список проектов, чтобы первым стояли те проекты в разделах которых последним оставили комментарий.
Например был оставлен комментарий к Task-у, который принадлежит проекту A. Затем через некоторое время был оставлен комментарий к Сharacterictic-ке, который принадлежит к проекту Б. Получается при сортировки нужно поставить Проект Б первым, а проект А после него.
models.py:class Project(models.Model):
name = models.CharField(_('Name'), max_length=250)
create_time = models.DateTimeField(auto_now_add=True) # Дата создания записи
revision_date = models.DateTimeField(_('Date of last update'), auto_now=True) # Дата последнего обновления записи
class Characteristic(models.Model):
project = models.ForeignKey(Project, on_delete=models.CASCADE)
description = models.TextField(_('Description'))
comments = models.ManyToManyField("Comment")
create_time = models.DateTimeField(auto_now_add=True)
revision_date = models.DateTimeField(_('Date of last update'), auto_now=True)
class Task(models.Model):
project = models.ForeignKey(Project, on_delete=models.CASCADE)
description = models.TextField(_('Description'))
comments = models.ManyToManyField("Comment")
create_time = models.DateTimeField(auto_now_add=True)
revision_date = models.DateTimeField(_('Date of last update'), auto_now=True)
class Comment(models.Model):
author = models.ForeignKey(User, on_delete=models.CASCADE)
text = models.TextField()
created = models.DateTimeField(auto_now_add=True)