2016-11-16 5 views
0

私はpython(3.5.2)とdjango(1.10.3)を勉強しています。私はプロジェクトを持っており、そのプロジェクトは私の最初のアプリを持っています。それはメンバーのエリアです。私はこのアプリはいくつかのモデルを持っていると予想して、私はモデルを自分のファイルに分割する考えが好きです。 https://code.djangoproject.com/wiki/CookBookSplitModelsToFiles別のファイルにモデルを分割するPython Django

-- MyApplication 
     |-- __init__.py 
     |-- settings.py 
     |-- urls.py 
     |-- wsgi.py 
    -- Members 
     |-- __init__.py 
     |-- admin.py 
     |-- apps.py 
     |-- migrations 
     | |-- __init__.py 
     |-- models 
     | |-- __init__.py 
     | |-- address.py 
     |-- tests.py 
     |-- urls.py 
     |-- views.py 
    -- manage.py 

Members/models/__init__.py

from address import Address 

Members/models/address.py

from django.db import models 

    class Address(models.Model): 

     Member_ID = models.ForeignKey(
      settings.AUTH_USER_MODEL, 
      on_delete=models.CASCADE 
     ) 
     Order = models.PositiveIntegerField() 

     ... 

MyApplication/Settings.pyのように見えるようになります

INSTALLED_APPS = [ 
     'Members.apps.MembersConfig', 
     'django.contrib.admin', 
     'django.contrib.auth', 
     'django.contrib.contenttypes', 
     'django.contrib.sessions', 
     'django.contrib.messages', 
     'django.contrib.staticfiles', 
     ... 
があります。私はここで、この説明を見てきました

私は何をしないのです

$ python manage.py makemigrations Members 
Traceback (most recent call last): 
    File "manage.py", line 22, in <module> 
    execute_from_command_line(sys.argv) 
    File "/home/myUser/.pyenv/versions/3.5.2/lib/python3.5/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line 
    utility.execute() 
    File "/home/myUser/.pyenv/versions/3.5.2/lib/python3.5/site-packages/django/core/management/__init__.py", line 341, in execute 
    django.setup() 
    File "/home/myUser/.pyenv/versions/3.5.2/lib/python3.5/site-packages/django/__init__.py", line 27, in setup 
    apps.populate(settings.INSTALLED_APPS) 
    File "/home/myUser/.pyenv/versions/3.5.2/lib/python3.5/site-packages/django/apps/registry.py", line 108, in populate 
    app_config.import_models(all_models) 
    File "/home/myUser/.pyenv/versions/3.5.2/lib/python3.5/site-packages/django/apps/config.py", line 199, in import_models 
    self.models_module = import_module(models_module_name) 
    File "/home/myUser/.pyenv/versions/3.5.2/lib/python3.5/importlib/__init__.py", line 126, in import_module 
    return _bootstrap._gcd_import(name[level:], package, level) 
    File "<frozen importlib._bootstrap>", line 986, in _gcd_import 
    File "<frozen importlib._bootstrap>", line 969, in _find_and_load 
    File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked 
    File "<frozen importlib._bootstrap>", line 673, in _load_unlocked 
    File "<frozen importlib._bootstrap_external>", line 665, in exec_module 
    File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed 
    File "/home/myUser/dev.aikidocia.org/MyApplication/Members/models/__init__.py", line 1, in <module> 
    from address import Address 
ImportError: No module named 'address' 

を取得するのに、私はセットアップにDBの移行を試しに行きますか?

+4

'from .address import Address'。適切な相対インポートを使用してください。 – Evert

+0

ありがとう –

答えて

1

@Evertが示唆しているように、適切な相対インポートを使用してください。

from .address import Address

関連する問題