実行時にシリアライザーのメタオプションを簡単に変更できることがわかりました(これが正しい呼び出し方かどうかさえわかりません。私は好きではありませんが、誰かがそれをモンキーパッチと呼んでいます):
NodeDetailSerializer.Meta.fields.append('somefield')
次のようなことをする必要がある場合:
NodeDetailSerializer.contact = serializers.HyperlinkedIdentityField(view_name='api_node_contact', slug_field='slug')
NodeDetailSerializer.Meta.fields.append('contact')
なぜ私はそれをする必要があるのですか?モジュラー アプリケーションを構築しようとしています。追加できるオプションのアプリがいくつかあります。これらのアプリは、コアの機能にいくつかの機能を自動的に追加します。追加のアプリケーションが別のリポジトリに移動される可能性があるため、2 つのアプリのコードを分けておきたいと思います。
モジュール化された拡張可能なアプリを作成することは、実に難しい作業です。誰かが共有できる有用なリソースを持っている場合は、それについてもっと知りたいです。
フェデリコ