teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

些細

2021/01/12 23:56

投稿

quickquip
quickquip

スコア11314

answer CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  答えは**できます**で、そのための機能がメタクラスです。
9
9
 
10
- メタクラスは「「class文の持つ定義する機能」を定義する機能」があるのです。
10
+ 言葉をかえると、メタクラスは「「class文の持つ定義する機能」を定義する機能」があるのです。
11
11
  「「定義する機能」を定義する機能」というのが**メタ**と名付けられている所以です。
12
12
 
13
13
  ----
@@ -20,7 +20,7 @@
20
20
  (略)
21
21
  ```
22
22
 
23
- というコードで、メタクラスが使われているのは`models.Model`の方です。`class Meta`の方はメタクラスでは**ありません**。(`class Meta`の`Meta`は"テーブル定義のメタ情報"という意味です)
23
+ というコードで、メタクラスが使われているのは`models.Model`の方です。`class Meta`の方はメタクラスでは**ありません**。(`class Meta`の`Meta`は"テーブルのメタ情報"という意味です)
24
24
 
25
25
  [https://github.com/django/django/blob/2.2.9/django/db/models/base.py#L399](https://github.com/django/django/blob/2.2.9/django/db/models/base.py#L399)
26
26
  [https://github.com/django/django/blob/2.2.9/django/db/models/base.py#L67](https://github.com/django/django/blob/2.2.9/django/db/models/base.py#L67)

2

リンク

2021/01/12 23:55

投稿

quickquip
quickquip

スコア11314

answer CHANGED
@@ -23,6 +23,7 @@
23
23
  というコードで、メタクラスが使われているのは`models.Model`の方です。`class Meta`の方はメタクラスでは**ありません**。(`class Meta`の`Meta`は"テーブル定義のメタ情報"という意味です)
24
24
 
25
25
  [https://github.com/django/django/blob/2.2.9/django/db/models/base.py#L399](https://github.com/django/django/blob/2.2.9/django/db/models/base.py#L399)
26
+ [https://github.com/django/django/blob/2.2.9/django/db/models/base.py#L67](https://github.com/django/django/blob/2.2.9/django/db/models/base.py#L67)
26
27
 
27
28
  `models.Model`にはメタクラスが指定されています。そのため、`models.Model`を継承する場合のこのclass文には**普通のclass文にはない機能**が追加されています。
28
29
  それが何かというと、

1

リンク

2020/01/24 23:34

投稿

quickquip
quickquip

スコア11314

answer CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
  というコードで、メタクラスが使われているのは`models.Model`の方です。`class Meta`の方はメタクラスでは**ありません**。(`class Meta`の`Meta`は"テーブル定義のメタ情報"という意味です)
24
24
 
25
- [https://github.com/django/django/blob/master/django/db/models/base.py#L383](https://github.com/django/django/blob/master/django/db/models/base.py#L383)
25
+ [https://github.com/django/django/blob/2.2.9/django/db/models/base.py#L399](https://github.com/django/django/blob/2.2.9/django/db/models/base.py#L399)
26
26
 
27
27
  `models.Model`にはメタクラスが指定されています。そのため、`models.Model`を継承する場合のこのclass文には**普通のclass文にはない機能**が追加されています。
28
28
  それが何かというと、