1

http://django-rest-framework.org/tutorial/4-authentication-and-permissions.htmlでチュートリアル1-4を終了し、コードを実行しました。

しかし、私は周りの説明を完全には理解していません:

owner = serializers.Field(source='owner.username')

どのフィールドがどのフィールドを参照しているのか混乱しています。

1.たとえば、models.pyのSnippetクラスで定義された所有者フィールドがあります。https://docs.djangoproject.com/en/dev/ref/models/fields/#foreignkeyで調べた後ForeignKey()、クラスを返すと表示されます。auth.Userクラスを返しますか?

2.もしそうなら、「所有者」は何をしますか

owner = serializers.Field(source='owner.username')

参照する?のインポート部分に所有者が見つかりませんserializers.py

3.serializers.Field(source='owner.username')返品とは何ですか?auth.Userのユーザー名を返しますか?

4.対応するモデルに別のテーブルへのフィールド参照がある場合、対応するフィールドをシリアライザークラスに追加する必要がありますか?

4

1 に答える 1

0

source = 'owner.username' は 'user.username' に変換されます。所有者は FK ユーザーに他ならないからです。

あなたの場合、フィールドの左側にある「所有者」はここでは重要ではないことに注意してください。つまり、次のようなカスタム フィールドを引き続き追加できます。

xyz = serializers.Field(source='owner.username')
于 2013-02-01T09:20:07.280 に答える