目次
文書の過去の版を表示しています。
アプリのモデル定義 (django_app/models.py)
Django アプリのモデル定義ファイルは、manage.py startapp で自動生成された状態では単一の Python モジュールファイルになっている。しかし、ほとんどのプロジェクトではそれなりの規模になると思われるので、モデルクラス 1 つにつき 1 Python ファイルに分けた方が保守性が良いと思う。
django_project ディレクトリ | ||||
---|---|---|---|---|
+ | django_app ディレクトリ | |||
| | + | __init__.py | このフォルダがPythonパッケージであることをPythonに知らせる。 | |
| | + | admin.py | Django アプリの管理サイトを記述するファイル。 | |
| | + | apps.py | ||
| | + | models.py | Django アプリのモデル定義ファイル。 | |
| | + | tests.py | Django アプリのテストを記述するファイル。 | |
| | + | views.py | Django アプリのビューを記述するファイル。 | |
| | + | migrations フォルダ | ||
| | | | + | __init__.py | このフォルダがPythonパッケージであることをPythonに知らせる。 |
models.py を 1 クラス 1 ファイルに分割
標準の models.py は以下のような内容である。
- models.py
from django.db import models # Create your models here.
Python はディレクトリに init.py (内容は空でもよい) を置くと、ディレクトリ全体をパッケージと見なすようになる。このことを利用して models.py を削除して models ディレクトリとその中に init.py を置くようする。
django_project ディレクトリ | |||||
---|---|---|---|---|---|
+ | django_app ディレクトリ | ||||
| | + | __init__.py | このフォルダがPythonパッケージであることをPythonに知らせる。 | ||
| | + | admin.py | Django アプリの管理サイトを記述するファイル。 | ||
| | + | apps.py | |||
| | + | models ディレクトリ | Django アプリのモデル定義ファイル。 | ||
| | | | + | __init__.py | このフォルダがPythonパッケージであることをPythonに知らせる。 |