python:django:model_definition

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
python:django:model_definition [2020/12/25 04:51] ともやんpython:django:model_definition [2020/12/25 06:40] (現在) – [models.py を 1 クラス 1 ファイルに分割する] ともやん
行 6: 行 6:
 |%%|%%| + |%%__init__%%.py  ||このディレクトリが Python パッケージであることを Python に知らせる。  | |%%|%%| + |%%__init__%%.py  ||このディレクトリが Python パッケージであることを Python に知らせる。  |
 |%%|%%| + |admin.py  ||Django アプリの管理サイトを記述するファイル。  | |%%|%%| + |admin.py  ||Django アプリの管理サイトを記述するファイル。  |
-|%%|%%| + |apps.py  ||  |+|%%|%%| + |apps.py  ||Django アプリの構成クラスを記述するファイル。  |
 |%%|%%| + |models.py  ||Django アプリのモデル定義ファイル。  | |%%|%%| + |models.py  ||Django アプリのモデル定義ファイル。  |
 |%%|%%| + |tests.py  ||Django アプリのテストを記述するファイル。  | |%%|%%| + |tests.py  ||Django アプリのテストを記述するファイル。  |
行 14: 行 14:
 </WRAP> </WRAP>
  
-===== models.py を 1 クラス 1 ファイルに分割 =====+===== models.py を 1 クラス 1 ファイルに分割する =====
 標準の models.py は以下のような内容である。\\ 標準の models.py は以下のような内容である。\\
 <WRAP prewrap 100% #mincode> <WRAP prewrap 100% #mincode>
行 24: 行 24:
 </WRAP> </WRAP>
  
-Python はディレクトリに **%%__init__%%.py** (内容は空でもよい) を置くと、ディレクトリ全体をパッケージと見なすようになる。このことを利用して **models.py** を削除して **models** ディレクトリとその中に **__init__.py** を置くようする。\\+Python はディレクトリに **%%__init__%%.py** (内容は空でもよい) を置くと、ディレクトリ全体をパッケージと見なすようになる。このことを利用して **models.py** を削除して **models** ディレクトリとその中に **%%__init__%%.py** を置くようする。\\
 <WRAP prewrap 100% #mintbl> <WRAP prewrap 100% #mintbl>
 ^django_project ディレクトリ^^^^^^ ^django_project ディレクトリ^^^^^^
行 31: 行 31:
 |%%|%%| + |admin.py  |||Django アプリの管理サイトを記述するファイル。  | |%%|%%| + |admin.py  |||Django アプリの管理サイトを記述するファイル。  |
 |%%|%%| + |apps.py  |||  | |%%|%%| + |apps.py  |||  |
-|%%|%%| + |models ディレクトリ|||Django アプリのモデル定義パッケージ。  |+|%%|%%| + ^models ディレクトリ  |||Django アプリのモデル定義パッケージ。  |
 |%%|%%|%%|%%| + |%%__init__%%.py  ||このディレクトリが Python パッケージであることを Python に知らせる。  | |%%|%%|%%|%%| + |%%__init__%%.py  ||このディレクトリが Python パッケージであることを Python に知らせる。  |
 </WRAP> </WRAP>
行 39: 行 39:
 ^django_project ディレクトリ^^^^^^ ^django_project ディレクトリ^^^^^^
 | + ^django_app ディレクトリ^^^^^ | + ^django_app ディレクトリ^^^^^
-|%%|%%| + |models ディレクトリ|||Django アプリのモデル定義パッケージ。  |+|%%|%%| + ^models ディレクトリ  |||Django アプリのモデル定義パッケージ。  |
 |%%|%%|%%|%%| + |%%__init__%%.py  ||このディレクトリが Python パッケージであることを Python に知らせる。  | |%%|%%|%%|%%| + |%%__init__%%.py  ||このディレクトリが Python パッケージであることを Python に知らせる。  |
 |%%|%%|%%|%%| + |media.py  ||Media モデルの定義。  | |%%|%%|%%|%%| + |media.py  ||Media モデルの定義。  |
行 52: 行 52:
 </code> </code>
 </WRAP> </WRAP>
 +**.media** と記述することで **models** パッケージ内の **media** モジュール (media.py) から **import** するように Python に指示できる。\\
  
 <WRAP prewrap 100% #mincode> <WRAP prewrap 100% #mincode>
行 73: 行 74:
     # メタ情報     # メタ情報
     class Meta:     class Meta:
-        app_label = 'django_vlc_app           # アプリケーション名+        app_label = 'django_app               # アプリケーション名
         verbose_name = _('Media'              # 単数形名称         verbose_name = _('Media'              # 単数形名称
         verbose_name_plural = _('Medias'      # 複数形名称         verbose_name_plural = _('Medias'      # 複数形名称
-        db_table = 'ide_mime_type             # テーブル名+        db_table = 'vlc_media                 # テーブル名
         ordering = ('artist', 'album', 'track',) # ソート列         ordering = ('artist', 'album', 'track',) # ソート列
-        unique_together = (('media_hash'),     # unique制約+        unique_together = (('media_hash'),    # unique制約
 </code> </code>
 </WRAP> </WRAP>
行 124: 行 125:
 </WRAP> </WRAP>
  
-Python のパッケージ内参照を利用して、パッケージ内の **media** モジュールから **import** するように記述する。\\+Python のパッケージ内参照 (**from . import name**) を利用して、パッケージ内の **media** モジュールから **import** するように記述する。\\
 <WRAP prewrap 100% #mincode> <WRAP prewrap 100% #mincode>
 <code python django_app/models/__init__.py> <code python django_app/models/__init__.py>
  • python/django/model_definition.1608839463.txt.gz
  • 最終更新: 2020/12/25 04:51
  • by ともやん