【実例付】Djangoの__str__メソッドの書き方を徹底解説

Django

(最終更新月:2021年12月)

✔当記事は以下のような方に向けて書かれています

「アドミンページの保存データ一覧が見にくい!」

「__str__メソッドって聞いたことあるけど、何なのかよくわからない!」

✔当記事を通じてお伝えすること

  • __str__メソッドとは?
  • __str__メソッドの書き方
  • __str__メソッドの実例

✔YouTube解説動画

当記事の内容は動画を見ながら進めると、約15分程度で完了します。

動画ならではの情報も解説しているので、記事と一緒にご覧ください。

動画の概要欄には、単元ごとのコードを紹介しているgithubページも載せています。

筆者プロフィール

筆者プロフィールアイコン

【現職】プロマネ/システムプランニング

【副業】ブログ(月間7万PV)/YouTube/Web・アプリ制作

【元】外資系金融機関の営業

コミュニケーション × ビジネススキル × 文章力 × プログラミングスキルを活かし、30後半からのIT系職へシフト。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。

【当ブログで紹介しているサイト】

当サイトチュートリアルで作成したデモ版日報アプリ

Django × Reactで開発したツール系Webアプリ

ChatGPTでLINEボット

【今なら無料】ChatGPTでLINEボットを作りました!

友だち追加

__str__メソッドとは?

保存したオブジェクトに名前をつける

役割だと覚えておきましょう

__str__メソッドを使わないと、

どれがどの日報かわかりません

__str__メソッドを記述すると、

など自由に名前をつけることができます(この場合は「タイトル」をそのまま名前としています)

次章で書き方を解説します

__str__メソッドの書き方

書き方はとてもカンタン!

モデルクラス内で、

def __str__(self):
    return "付けたい名前"

となります

例えば

def __str__(self):
    return "新しい日報です"

とすると、

とすることができます

ただしこれでは、「名前を付ける」という意味では上手くいってません

次章で実際の例をご覧頂き参考にして頂ければと思います

開発中の日報アプリでは、下記の通りとします

class NippoModel(models.Model):
    title = ...
    ....

    def __str__(self):
        return self.title

ブラウザでアクセスすると、

となります

ポイントとしては、モデルクラスのフィールド名を使う場合、

self.フィールド名

と必ず引数で受け取った「self」をつけるようにしましょう

まとめ

__str__メソッドの役割は、

それぞれのオブジェクトに名前をつける

ことです

書き方で気を付けることは、

フィールド名の前に「self」をつける

ことです

しっかりとポイントを押さえればとてもカンタン!

お好きな名前を付けて次へ進みましょう!

さて、次の記事では、いよいよ一般ユーザー向けのページ作りを始めていきます

Pythonをベースとした.pyファイルとこれから作る.htmlファイルを連動して、HTMLファイルを表示する方法についてまずは解説していきます

✔当ブログは以下のような方に向けて書かれています

「Djangoでのアプリ開発を学びたい!」

「Djangoで開発したアプリをWebで公開するにはどうするの?」

✔当ブログ掲載の記事

  • Djangoで作る日報アプリ開発
  • WebアプリをWeb上に公開する方法
  • Webアプリ開発に必要なそのほかの情報
【Django】チュートリアル|日報アプリの開発から公開まで
Djangoのチュートリアルをお探しですか?具体的に「手を動かして作ってみたい!」という方へ向けて、誰でもできる簡易的な日報アプリの開発を通じて、Djangoの様々な機能に触れていくシリーズとなっています。PythonでWebアプリを作りたい方、必見の記事となります!

ITCブログにご協力いただける方は、以下もご検討いただけると嬉しいです。

ITCへ投げ銭をする

タイトルとURLをコピーしました