モデルクラスをDjangoのmodels.pyに追加するときに、私たちが定義するフィールド変数でselfを使わないのはなぜですか?自己フィールド変数を使用しないで、クラス変数にする必要があります。問題が発生する可能性があります。Djangoモデルクラスでselfを使用する
7
A
答えて
8
Djangoは、metaclassesを使用して、提供するクラス定義に基づいて実際のクラスを作成します。簡単に言うと、モデルクラスをインスタンス化すると、メタクラスはモデルフィールド定義を実行し、適切な属性を持つ対応するクラスを返します。
あなたの質問に直接答えるために、インスタンス変数(object.self
)の代わりにクラス変数を使用すると、メタクラスはクラス属性を最初にインスタンス化せずに検査できます。詳細については
、the sourceを見て、次のドキュメントをしている:
+1
私は約4年前に自分自身の同様の質問をしましたので、私は 'django/db'コードにびっくりしました。それはいくつかのレベルで啓発されました。それはメタクラスの使い方でマスタークラスのようなものです。 –
関連する問題
- 1. Djangoモデルで 'self'外部キーを使用する理由
- 2. ScrapyプロジェクトでDjangoモデルクラスをインポート
- 3. DjangoモデルクラスPerfixモデル
- 4. Djangoシェルでモデルクラスを定義すると、
- 5. django customize self._errors
- 6. django models.py - あるモデルクラスから別のモデルクラスに移行する
- 7. djangoとappengineモデルクラス間のコード再利用
- 8. Djangoモデルクラスの自己表現
- 9. Djangoモデルクラスからドメインクラスを切り離す
- 10. djangoでモデルクラスをデコレートしてデコレータで保存する
- 11. 再帰エラー - ForeignKey( 'self')django
- 12. Spring MVCでモデルクラスを使用するのはなぜですか?
- 13. django:拡張モデルクラスのデフォルト値を変更
- 14. Djangoのモデルクラスからデータを取得
- 15. Play Frameworkとモデルクラスでのコレクションの使用
- 16. モデルクラスでのawtクラスの使用
- 17. Djangoで複数の属性としてSelfを定義する
- 18. Yii2モデルクラスでjavascriptを使用するには?
- 19. WindowsフォームアプリケーションでASP.NET MVCモデルクラスを使用する
- 20. モデルクラスを使用したUITableView配列
- 21. Djangoで複数のオブジェクト記述が可能ですか?モデルクラスで
- 22. [self release]、[self retain]を使うのは良いアプローチですか?
- 23. なぜ "class << self"式を使用するのですか?
- 24. 呼び出し元オブジェクトの "self"をデフォルトで使用するメソッド
- 25. Pythonでキーワード "self"を使用する場合
- 26. ノードでSequelizeを使用してSELF JOINする方法
- 27. djangoの抽象モデルクラスですが、テーブルがあります
- 28. 使用多くのモデルクラスはビュー
- 29. モデルクラスを使用してsqliteテーブルにarrayListを保存する
- 30. モデルクラスを使用してハッシュマップ値を設定する方法
...何?あなたが意味することのいくつかの例を追加できますか?私があなたに従っているかどうか分からないので... – eternicode