我正在使用Django。 这是我的.json文件:
{
title: "foo",
id: 4,
taskhistories: [
"http://localhost:8000/taskhistories/33/",
"http://localhost:8000/taskhistories/34/"
],
url: "http://localhost:8000/tasks/4/"
}
我的任务有一对多的任务历史。问题是,我在TaskHistory模型的定义中使用related-name将其显示在我的API的tasks目录中:
class TaskHistory(models.Model):
task = models.ForeignKey(Task, related_name='taskhistories')
但是,在API中,它不会显示taskhistory本身,而是显示taskhistory的API页面的url。如何在我的任务API页面中直接显示我的任务历史列表,而不仅仅是网址?
编辑:添加序列化程序:
class TaskSerializer(serializers.HyperlinkedModelSerializer):
projectname = serializers.Field(source='project.name')
projectid = serializers.Field(source='project.id')
class Meta:
model = Task
fields = ('title', 'description', 'status', 'created_on', 'duration',
'id', 'projectid', 'projectname', 'taskhistories')
答案 0 :(得分:0)
添加TaskSerializer:
taskhistories = serializers.RelatedField(many=True)
将使用TaskHistory Model的 unicode 方法进行显示。如需进一步参考,请参阅here
我想我回答了你的问题。