我正在使用django-transmeta進行模型的內化。它工作得很好。據模型保存到數據庫中是這樣的:如何在Django中使用tastypie進行多語言API?
name_en, name_de, name_tr ...
所以當你需要object.name,它返回在當前區域的名稱,whic是我的任務很不錯。
我正在使用tastypie作爲RESTful API。 Tastypie返回表的所有列(name_en,name_de,name_tr)。我要的是,在發出請求,如:
http://127.0.0.1:8000/api/object/?format=json&lang=en
所以服務器應該響應只有英文名稱(不name_en,name_de,name_tr)。
我該怎麼做?什麼tastypie功能,定製可以處理這個?
更新:
def dehydrate_title(self, bundle):
return bundle.data['title'].upper()
喜歡的東西,可以是一個解決辦法?
是的,你可以使用ModelResource,但明確定義字段,例如name,而不是name_en。然後使用dehydrate_name或者脫水以從數據庫檢索適當的值。 lang關鍵字可以用來確定格式的確定位置。你可能想看看tastypie.resources的來源,但它會起作用。祝你好運 ! – kgr 2012-03-21 11:56:03