##やろうとしたこと
models.pyの中身が長くなりすぎてしまい、可読性が低くなってきたため、
http://thinkami.hatenablog.com/entry/2016/04/28/062354
を参考にmodels.pyの分割をしようとしました。
##ファイル構造
myproject
├── models
│ ├─ init.py
│ ├─ model_class1.py
│ ├─ model_class2.py
│ └── ...
├── myproject
│ ├── settings.py
│ └── ...
model_class1は、
python
1from django.db import models 2 3class model_class1(models.Model): 4 column1 = models.CharField('column1', max_length=255) 5 column2 = models.CharField('column2', max_length=255) 6 column3 = models.CharField('column3', max_length=255) 7 def __str__(self): 8 return self.column1
models.py>__init.pyでは、
python
1from models.model_class1 import model_class1
としました。
また、myproject/settings.pyでは
python
1INSTALLED_APPS = [ 2 'django.contrib.admin', 3 'django.contrib.auth', 4 'django.contrib.contenttypes', 5 'django.contrib.sessions', 6 'django.contrib.messages', 7 'django.contrib.staticfiles', 8 'models', 9]
と記述。
しかし、
python manage.py runserver
もできず、
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x102095950> Traceback (most recent call last): File "<frozen importlib._bootstrap>", line 2254, in _gcd_import File "<frozen importlib._bootstrap>", line 2237, in _find_and_load File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked File "<frozen importlib._bootstrap>", line 1129, in _exec File "<frozen importlib._bootstrap>", line 1471, in exec_module File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed File "/hogehoge/myproject/models/__init__.py", line 1, in <module> from models.model_class1 import model_class1 File "/hogehoge/myproject/models/model_class1.py", line 3, in <module> class model_class1(models.Model): django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
と、このようなエラーが出てしまいます。。
このエラーはどうやらDjangoのバージョンを上げた時に起こるエラーらしいのですが、バージョンは上げてませんし、改善策としてヒットする
python
1import django 2django.setup()
を実行したところでなに変わません。
尚、models/init.pyをコメントアウトすると通常通りサーバーは起動します。が、makemigrations,migrateができません。
##実行環境
python 3.4.3
Django==1.10.2
このようなエラーに直面した方や、原因になってそうなものが思い浮かぶ方、もしよろしければご助力いただけると幸いです。
何卒よろしくお願いいたします。
_
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。