Django Rest Frameworkを学ぼう! ~ModelSerializerクラスについて~

前回は、シリアライズクラスのバリデーションについて学びました。

今回は、ModelSerializerクラスについて学びます。

前回

ModelSerializerクラスについて

ModelSerializerクラスは、私達が定義したDjangoモデルをベースにシリアライズすることができる便利ユーティリティです。

ModelSerializerクラスの実装

早速、実装しましょう。既存のArticleSerializerクラスを下記のように書き換えます。

たったこれだけです。

Metaクラスには、シリアライズ対象Modelの指定と、シリアライズ対象データについて記述しました。

ModelSerializerクラスの動作確認

動作確認をするために、開発サーバーを立ち上げましょう。

続いて「http://localhost:8000/api/articles/」にアクセスしましょう。

表示されたでしょうか。簡単ですね。

ModelSerializerクラスのフィールド拡張

画面に表示されているauthorやtitleは、Articleモデルに設定されている変数です。

以下のようにすれば、フィールドの拡張ができます。

time_since_publication項目を追加しました。SerializerMethodFieldで追加できるようです。

ブラウザをリロードしましょう。

便利ですね。

terminal上でも確認できます。

ModelSerializerクラスのバリデーション

以前、Serializerクラスでバリデーションを実装しました。

ModelSerializerクラスにも追加してみましょう。

ブラウザをリロードして、Contentに以下のデータを入力し、POSTを押してください。

OKですね。

次回

次回は、シリアライズクラスと関連データについて学びます。

関連記事

こちらもどうぞ

Djangoおすすめ書籍

Djangoを学ぶなら以下の書籍がオススメです。

緑 -> 赤 -> 紫の順でやればOKです。読みやすい英語で書かれているので、英語力もついでに上がるかもしれません^^

コメントを残す