2013-02-27 102 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