django中多个模型的对象列表
我有多个类似的抽象模型django中多个模型的对象列表,django,django-models,aggregate,Django,Django Models,Aggregate,我有多个类似的抽象模型 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 =
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()
现在,在一个特定的页面上,我想根据这两个模型的创建日期将它们聚合到一个列表中。我想知道的所有型号都有一个标题
和一个创建日期
,因此我可以这样做:
<ul>
{% for object in object_list %}
<li>{{ object.title }} on {{ object.created_at }}</li>
{% endfor %}
</ul>
{对象列表%中的对象的百分比}
- {{object.created_at}}上的{{object.title}}
{%endfor%}
我可以指望这些领域是没有问题的
我考虑过创建一个附加模型并使用通用外键。有点像一个聚合模型。然后每次创建一个新对象时,我都会发出一个要创建的对象的信号,然后从这个通用表中提取。不过我真的不喜欢这个主意。这似乎是非常多余的
有什么想法吗
更新:我找到了这个条目,但它在我的案例中不起作用,因为我正在使用抽象模型类(我只是没有在示例中显示它,以使其尽可能简单明了)。我研究的是继承而不是抽象,但我认为常量连接的性能会受到影响。可能不只需在视图中按创建日期(或创建日期,两者都使用)对两个模型进行排序,并将结果合并到一个列表中。然后可以在模板中使用此列表。不需要模型继承或聚合模型。只需按视图中的
创建日期
(或创建日期
,两者都使用)对两个模型进行排序,并将结果合并到一个列表中即可。然后可以在模板中使用此列表。不需要模型继承或聚合模型。您有输入错误。。。类文章应该是类文章
将类固定到类(使其小写)您有打字错误。。。类文章应该是类文章 将类固定到类(使其小写)