2012-06-13 97 views
0

我使用contrib的django評論,我有一個對象(條目),它有一些與它相關的註釋。在我tastypie資源,我有:Tastypie:根據評論的對象過濾Django評論

class CommentResource(ModelResource): 
    user = fields.ForeignKey(UserResource, 'user') 

class Meta: 
    queryset = Comment.objects.all() 
    resource_name = 'comments' 
    allowed_methods = ['get'] 
    fields = ['comment', 'resource_uri', 'submit_date', 'user',] 
    filtering = { 
     'user': ALL_WITH_RELATIONS, 
    } 

,我可以得到所有的意見,或由用戶進行篩選。它工作正常。 現在我不確定,我該怎麼做同一種過濾器,但基於某個入口對象而不是用戶?

感謝您的幫助。

+0

我不遵循:「_how我會做同樣的過濾器,但基於某個入口對象,而不是user_」?哪個入口對象?你能澄清/詳細說明嗎? – Tadeck

+0

我有一個叫'入口'的模型。現在過濾器返回'用戶'的所有評論,我想要同樣的行爲,但使用'入口'模型,而不是'用戶'。但我不知道該怎麼做,因爲'user'是'Comment'的外鍵,但'entry'與'Comment'無關。 – Bastian

回答

0

不知道什麼是entrycomment很難給出一個具體的答案之間,但在果殼的關係給出該條目和評論通過多對多關係鏈接:

  • 創建EntryResource
  • 添加fields.ToManyField到EntryResource爲CommentResource
  • 添加了`fields.ToOneField」到CommentResource爲EntryResource
  • 添加'comments' : ALL_WITH_RELATIONS到過濾字典中EntryResource

此外,你可以嵌套的資源或自定義URL添加到評論基於一個條目對其進行過濾,但是這一切都取決於你的設計。

以上的幾乎逐字的例子在Tastypie文檔here中給出。

+0

我使用來自Django的評論應用程序,該關係是默認的。感謝您的解釋並鏈接到文檔,它有很大的幫助。 – Bastian