0Pricing
Django Academy · レッスン

strとMetaクラス

オブジェクトを読みやすくし、テーブルの動作を設定します

「strとMetaクラス」はCoddyKit上の無料Django Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDjango Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Django Academyコースには全4レッスンが含まれています。

このレッスンの一部はまだ翻訳されておらず、英語で表示されています。

Make Objects Readable

Out of the box, a model object prints as a vague Object 1. You can fix that and also shape table behavior cleanly.

Define __str__

Add a __str__ method to return a friendly label. Now your object shows its title instead of a useless number.

class Book(models.Model):
    title = models.CharField(max_length=200)

    def __str__(self):
        return self.title

Where __str__ Shows Up

That __str__ label appears in the admin, the shell, and templates, making every object instantly recognizable. 👀

Always Return a String

Your __str__ must return a string. If a field might be a number, wrap it with str() before returning it.

def __str__(self):
    return str(self.year)

Meet the Meta Class

An inner Meta class holds options about the model as a whole, separate from its fields. It tunes how the table behaves.

class Book(models.Model):
    class Meta:
        ordering = ["title"]

ordering Sets Default Sort

The ordering Meta option sets how query results sort by default, so lists come back in a predictable order.

class Meta:
    ordering = ["-created"]

Friendly Names with verbose_name

Use verbose_name and verbose_name_plural in Meta to control the labels Django shows in the admin interface.

class Meta:
    verbose_name_plural = "Books"

Custom Table Name

Override the generated table name with db_table in Meta when you need to match an existing or legacy database.

class Meta:
    db_table = "catalog_books"

Cross-Field Uniqueness

The unique_together Meta option requires a combination of fields to be unique, like one slug per author.

class Meta:
    unique_together = ["author", "slug"]

Meta Describes the Model

Think of Meta as settings for the whole model, while fields and __str__ describe its data and display.

Both Are Optional but Worth It

You can skip __str__ and Meta, but adding them makes your models far nicer to work with day to day.

Quick Check

What is the main job of the __str__ method on a model?

Recap: __str__ and Meta

You learned that __str__ gives objects a readable name and the Meta class tunes model-wide behavior like ordering and names. Polished models! 🎉

よくある質問

「strとMetaクラス」レッスンは無料ですか?

はい。「strとMetaクラス」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Django Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Django Academyコースには全4レッスンが含まれています。

「strとMetaクラス」で何を学びますか?

オブジェクトを読みやすくし、テーブルの動作を設定します ブラウザで直接実行するハンズオンコードでDjango Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Django Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDjango Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「strとMetaクラス」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDjango Academyレッスンでコードを書いて実行できますか?

はい。すべてのDjango Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. モデルクラスを定義する
  2. フィールド型を選ぶ
  3. フィールドオプション:null、blank、default
  4. strとMetaクラス
← Django Academyに戻る