2013-02-27 71 views

回答

3

使用serializers.HyperlinkedModelSerializer并添加“网址本应在添加细节部分

链接:serializers.HyperlinkedModelSerializer

UPDATE:

可以与HyperlinkedModelSerializer只需添加添加ID .. ...

id = serializers.Field() 

完成:)

+0

尝试,但后来我得到KeyError异常的“身份证”,现在为什么不能使用的领域的PK? – jason 2013-02-27 16:42:40

+0

文档说它默认不包含pk字段。不知道如何添加它在我自己的抱歉。 – 2013-02-27 16:53:43

+0

更新后添加到ID字段。 – 2013-02-27 17:21:21

2

有教程的整个页面专用于这个话题:http://django-rest-framework.org/tutorial/5-relationships-and-hyperlinked-apis.html

检查部分标有“超链接我们的API”。这表明定义了您在该页面看到JSON代码:

class SnippetSerializer(serializers.HyperlinkedModelSerializer): 
    owner = serializers.Field(source='owner.username') 
    highlight = serializers.HyperlinkedIdentityField(view_name='snippet-highlight', format='html') 

    class Meta: 
     model = models.Snippet 
     fields = ('url', 'highlight', 'owner', 
        'title', 'code', 'linenos', 'language', 'style') 
+0

Django rest框架文档写得非常好。我自己是Django的新手,发现它们非常有用,清晰和完整。我个人使用django rest框架是因为网页可浏览的部分,这意味着我可以将API交给我的应用程序人员,而无需亲自编写大量文档。 Tastypie非常好(从我迄今为止使用的内容而言),但取决于具体情况,评估这些事情很重要。 – 2013-02-27 16:51:43

+1

您对REST框架文档有何问题?我们已经付出了很多努力,并且从我的立场来看,我认为他们绝对是顶级的。特别是你认为需要解决的任何事情? – 2013-02-27 17:12:04

+2

你好@Tom,我的评论是对你的作品的攻击,我对此表示歉意。我删除了这个意见。由于我在休息框架方面的短暂经历而导致的挫折实际上是我成为这个主题的完全新手的一个后果,并且文档对读者在这个主题上知道什么做了一些假设。当然,在其他架构上编写课程并不是你的工作。我再次道歉。 – Mariano 2013-02-27 19:19:15