[解決済み] Django Rest Framework - ModelSerializerにカスタムフィールドを追加する方法
2022-12-27 16:15:32
質問
私は
ModelSerializer
を作成し、モデルの一部ではないカスタムフィールドを追加したいと思います。
私は追加のフィールドを追加するための記述を見つけました ここで というのがあり、以下を試してみました。
customField = CharField(source='my_field')
このフィールドを追加して
validate()
関数を呼び出すと、このフィールドは
attr
のディクショナリになります。
attr
には、余分なフィールドを除いて指定されたすべてのモデルフィールドが含まれています。ですから、上書き検証でこのフィールドにアクセスすることはできませんよね?
このフィールドをこのようにフィールドリストに追加すると。
class Meta:
model = Account
fields = ('myfield1', 'myfield2', 'customField')
を実行すると、エラーが発生します。
customField
は私のモデルの一部ではないので、エラーが発生します。私はこのシリアライザーのためだけにそれを追加したいので、何が正しいのでしょうか?
カスタムフィールドを追加する方法はありますか?
どのように解決するのですか?
あなたは正しいことを行っています。
CharField
(そして他の型付きのフィールド) は書き込み可能なフィールドのためのものです。
この場合、単純な読み取り専用のフィールドが欲しいだけなので、その代わりとして
customField = Field(source='get_absolute_url')
関連
-
[解決済み] Pythonで辞書に新しいキーを追加するにはどうすればよいですか?
-
[解決済み] Django REST Framework: ModelSerializerに追加フィールドを追加する
-
[解決済み] Django REST フレームワーク: 非モデルシリアライザー
-
[解決済み] pandasのDataFrameから空のセルを含む行を削除する
-
[解決済み] dict を txt ファイルに書き、それを読み取る?
-
[解決済み] PythonからSMTPを使用してメールを送信する
-
[解決済み] subprocess.run()の出力を抑制またはキャプチャするには?
-
[解決済み] Flask でグローバル変数はスレッドセーフか?リクエスト間でデータを共有するには?
-
[解決済み] 認証プラグイン 'caching_sha2_password' はサポートされていません。
-
[解決済み] Django REST フレームワークのカスタムフィールドの検証
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Django REST Framework: ModelSerializerに追加フィールドを追加する
-
[解決済み] DataFrameに日付間の日数カラムを追加する pandas
-
[解決済み] Pythonでマルチプロセッシングキューを使うには?
-
[解決済み] Pythonによる一対のクロスプロダクト [重複] (英語)
-
[解決済み] matplotlib でプロットの軸、目盛、ラベルの色を変更する方法
-
[解決済み] Pandasのデータフレーム内の文字列を'date'データ型に変換するにはどうしたらいいですか?
-
[解決済み] if 節の終了方法
-
[解決済み] 単純な文字列からtimedeltaオブジェクトを作成する方法
-
[解決済み] Pythonでランダムなファイル名を生成する最良の方法
-
[解決済み] Django filter queryset __in for *every* item in list