モデルを複数のファイルに分割してフォルダに配置しました。ここに木の構造があります。フォルダの名前を覚えておいてください。Djangoはモデル名のフォルダをモデルとして検出しません
from .VehicleModel import *
from .PersonModel import *
私はモデルクラスを作成した - それは、資本との 'モデル' M.
|-- Models
| |-- __init__.py
| |-- PersonModel.py
| `-- VehicleModel.py
が__init__.py
ファイルの内容があります。今私が実行しているときpython manage.py makemigrations MyAppName
それはNo changes detected in app 'MyAppName'
私はフォルダーフォーム 'モデル'を 'モデル'に名前を変更するとうまくいきました。
しかし、私は同じようにビューを分割したビューを複数のファイルにまとめ、フォルダに配置しました。木構造は以下の通りです。
`-- Views
|-- DashboardView.py
|-- __init__.py
|-- __pycache__
| |-- DashboardView.cpython-34.pyc
| |-- __init__.cpython-34.pyc
| `-- VehicleView.cpython-34.pyc
`-- VehicleView.py
ここでは、フォルダ名は大文字の「Views」で、物事は正常に動作しています。 djangoは不平を言うことはありません。
Modelsという名前のフォルダに配置したときに、モデルクラスが検出されない理由を理解できません。
モデルを分割するより良い方法は何ですか。 (1)上記のやり方、または(2)直接modelsディレクトリに配置されたファイルmodels.pyのすべてのモデルをインポートする。 models.pyには 'from Models/VehicleModel.py import *'が含まれます – User42
また、models.pyファイル内の 'Models/VehicleModel import *'からこのようにインポートすると、エラーが発生します - >無効な構文...スラッシュを指すニンジンシンボル – User42