-1

DRFシリアライザに関する質問。特にModelSerializer。Django Restフレームワーク。 SerializerMethodFieldまたはソース?

外部キーを持つ2つのバージョンがあります。

  1. field = CharField(source='user.name')

  2. field = SeriaizerMethodField() get_field(self, obj): return obj.user.name

は、より良い/すぐに動作しますか?

UPD

はい、私はprefetch_related /選択について知っています。 しかし、データベースから必要なフィールドを引き出し、それを自動的にシリアル化したり、「生の」フィールドを取り出してシリアライザに正しく結合するほうが良いでしょうか?

+0

データベースにヒットしませんhttps://ericlippert.com/2012/12/17/performance-rant /) – Sayse

答えて

0

違いはありません。速度を向上させたい場合は、クエリセットのselect_relatedメソッドを呼び出すことで、ビュー内で行う必要があります。

YourModel.objects.select_related('user') 

それは([馬をレース] userテーブルに参加するだろうとuser.name atributeを呼び出すと、次回

0

First oneは、ボックスとは異なる検証オプションを提供します。 2番目のものは非常にカスタマイズ可能なものであり、検証自体を提供するものではありません。

関連する問題