質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

1回答

3140閲覧

djangoで、models.pyの分割時にエラーが起きる

soh

総合スコア13

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2016/10/08 12:40

編集2022/01/12 10:55

##やろうとしたこと
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

このようなエラーに直面した方や、原因になってそうなものが思い浮かぶ方、もしよろしければご助力いただけると幸いです。
何卒よろしくお願いいたします。
_

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

myproject/settings.py中のINSTALL_APPSには
'models'いらないような気がします。
'models'を外したらどうなりますか?

投稿2016/10/10 17:29

kokardy

総合スコア781

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問