2016-08-18 42 views
0

在我的API中,我使用的是def get_list(self, request, **kwargs):方法。脫水不適用於django tastypie api

現在我需要追加一個動態字段來提供一些額外的數據。

所以我想用def dehydrate(self, bundle):的方法。

但是在這種情況下,def dehydrate(self, bundle):方法沒有執行。再次,如果我刪除或保留評論def get_list(self, request, **kwargs):方法,然後def dehydrate(self, bundle):執行。

在這種情況下,我如何在我的API中添加額外的字段(動態字段)?

+0

需要查看您的Resource類,至少需要脫水方法和get_list方法。 –

+0

這是我的代碼: https://codeshare.io/qUzsJ – cjahangir

+0

好的......現在問題是相反的。這是太多的代碼來挖掘。只是瀏覽它,你已經覆蓋了很多方法,看起來你正在做的工作比你需要的多得多。我儘量讓我的資源比這更簡單。我懷疑你正在過度使用一種叫脫水的方法,並用你自己的方法替換它。 –

回答

-1

您重寫錯誤的方法,請使用obj_get_list來提供數據而不是get_list

考查Resource類(resources.py),行號指的django-tastypie的0.13.3版:

  • 1319:的get_list定義,dehrydrates在線路1339
  • 1132束:定義的obj_get_list,引用註釋Fetches the list of objects available on the resource,這種方法在ModelResource重寫,併爲Django的ORM

一個工作版本您可能還想在此處閱讀https://django-tastypie.readthedocs.io/en/latest/non_orm_data_sources.html,其中說明了要覆蓋哪些方法。