2017-04-12 9 views
2

Django 1.10.6を実行しているUbuntuマシンにDjangoアプリケーションをインストールする際に大きな問題が発生しています。Django 1.10 makemigrations errors

古いバージョンのDjangoを使用していましたが、今ではWebアプリケーションをインストールできません。ここに状況があります:

私はmyprojectと呼ばれるDjangoプロジェクトを持っています。ファイル構造は次のとおりです。

(BASEDIR)/manage.py 
(BASEDIR)/mycommon/ # I will discuss mycommon below 
(BASEDIR)/myproject/ 
(BASEDIR)/myproject/settings.py 
(BASEDIR)/myproject/urls.py 
(BASEDIR)/myproject/views.py 
(BASEDIR)/myproject/wsgi.py 
(BASEDIR)/myproject/models/ 
(BASEDIR)/myproject/models/__init__.py 
(BASEDIR)/myproject/models/models.py 

それは、これらのモデルにアクセスする必要がある(Djangoにブートストラップツイストを使用して)別のPythonアプリケーションがありますので、このプロジェクトのために、私は、共通のパッケージで私のモデルを配置する必要があることが判明しました。私はこのパッケージを "mycommon"と呼ぶでしょう。だから私の "本物" のモデルはここにある:

(BASEDIR)/mycommon/ 
(BASEDIR)/mycommon/utils.py 
(BASEDIR)/mycommon/models/ 
(BASEDIR)/mycommon/models/__init__.py 
(BASEDIR)/mycommon/models/models.py 

ので、Djangoの設定ファイル(BASEDIR)/myproject/settings.pyにあり、INSTALLED_APPSパラメータはこれに設定されている

:最後に

INSTALLED_APPS = (
'myproject.models', 
'django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.messages', 
'django.contrib.staticfiles', 
'django.contrib.admin', 
) 

、それだけでmycommonモデルを使用していますので、それでmyproject /モデル/ models.pyは、非常にシンプルである点に注意してください。

from django.db import models 
from mycommon.models.models import * 

これまでのところは良い、これは古いDjangoのバージョンで正常に動作した構造です。とにかく、私は空のMySQLデータベース(作成したが、空)で始まり、今私は戻って(BASEDIR)に行くと、これを実行します。

python manage.py makemigrations mycommon.models 

は、残念ながら、私はこのようなエラーが出る:だから

RuntimeError: Model class mycommon.models.models.SomeModel doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS. 

私は何を間違えているのですか?

答えて

0

INSTALLED_APPSには、'.models'を付けずに'myproject'しか指定しないでください。

しかし、mycommonアプリをmanage.py startapp mycommonで作成すると、Django 1.10を使用しているため、より洗練されたものになります。これにより、いくつかのファイルが作成されますが、モデルをmycommon/models.pyに移動する必要があります。 mycommon/apps.pyに注意してください。このファイルに触れる必要はありません。のリストにのみ含めます:'mycommon.apps.MycommonConfig'。このようにして、移行フレームワークはモデルを自動的に検出します。

最後に、myprojectにプロジェクト設定が含まれているので、myproject/modelsを削除します。

関連する問題