私は自分のモデルの内部化にdjango-transmetaを使用しています。それはとてもうまくいっています。それはこのようにデータベースにモデルを保存している:Djangoで多言語APIにtastypieを使用するには?
name_en, name_de, name_tr ...
あなたがobject.nameを必要とするときに、それは私の仕事のために非常に良いですwhic、現在のロケールで名前を返します。
私はRESTful APIにtastypieを使用しています。 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_enではなくnameなどのフィールドを明示的に定義することができます。次に、dehydrate_nameを使用するか、またはデータベースから適切な値を取得するために脱水します。 langキーワードは、形式がどこで決定されるかを考慮することができます。あなたはtastypie.resourcesのソースを見てみたいと思うかもしれませんが、それはうまくいくでしょう。がんばろう ! – kgr