2016-09-13 11 views
0

私はUserDetailsSerializerクラスを持っています。フロントエンドアプリケーションのAPIエンドポイント要件を満たすために、オブジェクト名をユーザーからデータに変更したいと考えています。私はインターネットで検索してみましたが、そのような結果を得る方法はあまりよく分かりませんでした。djangoオブジェクト名を変更してください

class UserDetailsSerializer(serializers.ModelSerializer): 
    uid = serializers.SerializerMethodField('get_username') 

    """ 
    User model w/o password 
    """ 
    class Meta: 
     model = UserModel 
     fields = ('uid', 'email', 'first_name', 'last_name', 'id') 
     read_only_fields = ('email',) 

    def get_username(self, obj): 
     return obj.username 

(再び、私はそれがシリアライザでどのように動作するかを正確にはわかりません。)別の名前でビューでオブジェクトを再割り当てし、フロントを変更している私は考えることができ、いくつかの他の方法がありますが、 -endアプリケーションAPI要件。もしあなたが助けることができるなら私に知らせてください。

+0

現在の 'field'は' user'として表現したいですか? –

+0

あなたはどのフロントエンドを使用していますか?フロントエンドはあなたのUserオブジェクトの名前に気を付けるべきではないようですが、jsonオブジェクトが "データ"であるためのキーを必要とするかもしれません。それは理にかなっていますか? like:{"data":{あなたのシリアライズされたデータ}} –

答えて

0

ビューのコンテンツを指定していません。この中

{'user': UserDetailsSerializer(your_object).data} 

dataでキーuserを置き換える:私は現在、あなたが戻ってきている応答の辞書のようなものがあると信じています。

そうでない場合は、userはどこに定義されていますか?

関連する問題