У меня есть несколько абстрактных моделей, подобных этому
Class Article(models.Model):
title = models.CharField()
body = models.TextField()
created_date = models.DateTimeField()
author_name = models.CharField()
class Video(models.Model):
title = models.CharField()
body = models.TextField()
created_date = models.DateTimeField()
video_asset = models.CharField()
Теперь на конкретной странице я хотел бы объединить эти две модели в список на основе их созданной даты. Все известные мне модели будут иметь title
и created_date
, поэтому я могу сделать что-то вроде этого:
<ul>
{% for object in object_list %}
<li>{{ object.title }} on {{ object.created_at }}</li>
{% endfor %}
</ul>
Я могу рассчитывать, что эти поля будут там без проблем.
Я думал о создании дополнительной модели и использовании общих внешних ключей. Вроде как агрегатная модель. затем каждый раз, когда создавался новый объект, я просто сигнализировал о создании одного из них, а затем просто извлекал из этой общей таблицы. Мне не очень нравится эта идея. Кажется очень избыточным.
Есть мысли?
обновление : я нашел эту запись Используя django, как я могу объединить два запроса из отдельных моделей в один запрос? но в моем случае это не будет работать, так как я использую класс абстрактной модели для них (я просто не показал это в примере, чтобы сделать его простым и понятным, насколько это возможно). Я смотрел на наследование, а не на абстракцию, но думал, что производительность, связанная с постоянными объединениями, принесет свои плоды. возможно нет