1. ホーム
  2. パイソン

[解決済み】DjangoのネストされたMetaクラスはどのように機能するのですか?

2022-04-03 07:13:31

質問

私は Django を使っていますが、このクラスでは class Meta .

class FooModel(models.Model):
    ...
    class Meta:
        ...

Pythonのドキュメントにあったのは

class FooMetaClass(type):
    ...

class FooClass:
    __metaclass__ = FooMetaClass

しかし、これと同じこととは思えません。

解決方法は?

2つの異なる事柄について質問していますね。

  1. Meta Django モデルにおける内部クラス :

    これはモデルに付けられたいくつかのオプション(メタデータ)を持つ単なるクラスコンテナです。これは、利用可能なパーミッション、関連するデータベーステーブルの名前、モデルが抽象的かどうか、名前の単数形と複数形などのようなものを定義しています。

    簡単な説明はこちらです。 Djangoのドキュメント。モデル メタオプション

    利用可能なメタ・オプションの一覧はこちら。 Djangoのドキュメント。モデルのメタオプション

    Djangoの最新版について。 Djangoのドキュメント。モデルのメタ・オプション

  2. Pythonのメタクラス :

    一番良い説明はこちらです。 Pythonのメタクラスとは何ですか?