モデルの設定
モデルの設定
前章ではモデルの各種フィールドについて見ていきました。
モデルで作成するClassには様々な設定を付与することができます。
それぞれ見ていきましょう。
str
models.pyのClassに__str__
を記述することで、そのデータを参照した時の表示名を変更することができます。
class Article(models.Model):
title = models.CharField(max_length=100, verbose_name='タイトル')
def __str__(self):
return self.title
この中で、__str__
関数で指定したタイトルが、このデータの表示名になります。
データの各フィールドにはself
からアクセスできます。
文字列以外をreturn
に指定するとエラーになるので注意しましょう。
こうすることで管理画面などでこのデータを参照した時にArticleのtitleが返されるので、
すぐにどの記事が判別することができるようになります。
Meta
models.pyのClass内に別のMeta
Classを指定することができます。
Meta
を追加することで、テーブルの表示名を変更したり、実際のテーブル名を指定することができます。
class NewsArticle(models.Model):
title = models.CharField(max_length=100, verbose_name='タイトル')
class Meta:
db_table = 'news_article'
verbose_name_plural = 'ニュース記事'
db_table
Meta
Classで記述するdb_tableはテーブル名を変更することができます。
ここで明示的に記述しておくことで実際のデータベースをのぞいた時などに、どのデータかわかりやすくなります。
verbose_name_plural
verbose_name_plural
はテーブルの表示名を変更することができます。
Djangoの管理画面などでデータベースのテーブルを一覧表示するとき、デフォルトでは、Class名が使用されますが、こちらを使用することで、日本語名に変更できたりします。
Meta
Classではその他様々な情報を変更できますが、上級者向けなものも多いのでまずはこの主要な2点だけでも覚えておきましょう。
Just Python フリープラン
ジャスパイなら教材は全て無料!