У меня есть приложение Django с классами для разных вещей, таких как сообщение, цитата, изображение, ссылка и т. Д. Как элементы в Tumblr. Каждый из этих объектов имеет дату и время.
Я хочу отобразить комбинированный список из 20 самых последних элементов всех типов. И я хочу, чтобы иметь возможность просматривать страницы старых предметов. то есть, как страницы Тамблера.
Но я не могу придумать, как выполнять подобные запросы для разных типов объектов ... Должен ли я создать отдельный класс, например:
class CombinedItem(models.Model):
date = models.DateTimeField()
item_type = models.CharField() # eg, 'post', 'quote', 'image', 'link'
item_id = models.IntegerField()
И добавляйте к этому новую запись всякий раз, когда я добавляю новое сообщение, цитату, изображение и т. Д. И затем, для моего списка, запрашиваю класс CombinedItem для самых последних элементов, а затем извлекаю основные сведения для каждого элемента, который он возвращается? Если так, то какой самый эффективный способ сделать все это? Спасибо.