【发布时间】:2013-09-13 04:22:18
【问题描述】:
我有三个模型——文章、作者和推文。我最终需要使用 Django REST 框架来构建一个提要,该提要将使用文章和推文模型的所有对象聚合到一个逆时间顺序提要中。
知道我会怎么做吗?我觉得我需要创建一个新的序列化程序,但我真的不确定。
谢谢!
编辑:这是我迄今为止所做的。
app/serializers.py:
class TimelineSerializer(serializers.Serializer):
pk = serializers.Field()
title = serializers.CharField()
author = serializers.RelatedField()
pub_date = serializers.DateTimeField()
app/views.py:
class TimelineViewSet(viewsets.ModelViewSet):
"""
API endpoint that lists all tweet/article objects in rev-chrono.
"""
queryset = itertools.chain(Tweet.objects.all(), Article.objects.all())
serializer_class = TimelineSerializer
【问题讨论】:
-
你的问题是如何合并不同物体的两条时间线,还是如何使用DRF输出已经合并的时间线?
-
在某种程度上可能两者兼而有之('害怕我有点像 Django 新手......)。我将在一分钟内更新代码,但我目前创建了一个新视图,它使用
itertools.chain()创建一个结合Tweet.objects.all()和Article.objects.all()的查询集,并将其提供给一个新的序列化程序,其中列出了两个模型共有的字段。我在正确的道路上附近吗?
标签: python django django-models django-views django-rest-framework