多種型號的我有類似這樣的object_list中在Django
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()
現在一個特定的頁面上的多個抽象模型,我想這兩種模式聚集到基於其CREATED_DATE列表。所有我想要的車型,我知道將有一個title
和created_date
這樣我就可以做這樣的事情:
<ul>
{% for object in object_list %}
<li>{{ object.title }} on {{ object.created_at }}</li>
{% endfor %}
</ul>
我可以在這些領域的統計沒有問題在那裏。
我想過創建一個額外的模型和使用泛型外鍵。有點像聚合模型。那麼每次創建一個新對象時,我都會發出其中一個要創建的對象,然後從這個通用表中拉出。雖然我不太喜歡這個想法。似乎非常多餘。
任何雖然?
更新:我發現這個條目Using django how can I combine two queries from separate models into one query?,但它在我的情況下不會工作,因爲我使用抽象模型類爲這些(我只是沒有顯示它在本例中,以保持它的簡單和清晰越好)。我研究了繼承而不是抽象,但是我認爲在不斷的連接上性能會受到影響。可能不是