2014-12-01 3 views
5

특정 배포시 새 App Registry와 관련하여 Django 1.7에 문제가 있습니다. 일반적으로 나는 인스턴스를 날려 버리고 그것을 재현하지만, 인스턴스를 파괴 할 때 계속 발생합니다.Django 1.7 응용 프로그램 레이블이 고유하지 않고 중복 된 foo

항상이 오류의 원인이되는 제품 응용 프로그램이며 app.py 파일을 사용하여 레이블을 sc_products로 변경했지만 sc_products가 이미 정의 된 사항도 변경되었습니다.

이 특정 예에서는 앱을 이전하려고 시도했습니다.

Running migrations: 
    Applying sc_products.0001_initial...Traceback (most recent call last): 
    File "manage.py", line 9, in <module> 
    execute_from_command_line(sys.argv) 
    File "/home/savingschampion/.virtualenvs/savings_champion/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line 
    utility.execute() 
    File "/home/savingschampion/.virtualenvs/savings_champion/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 377, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/home/savingschampion/.virtualenvs/savings_champion/local/lib/python2.7/site-packages/django/core/management/base.py", line 288, in run_from_argv 
    self.execute(*args, **options.__dict__) 
    File "/home/savingschampion/.virtualenvs/savings_champion/local/lib/python2.7/site-packages/django/core/management/base.py", line 338, in execute 
    output = self.handle(*args, **options) 
    File "/home/savingschampion/.virtualenvs/savings_champion/local/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 160, in handle 
    executor.migrate(targets, plan, fake=options.get("fake", False)) 
    File "/home/savingschampion/.virtualenvs/savings_champion/local/lib/python2.7/site-packages/django/db/migrations/executor.py", line 63, in migrate 
    self.apply_migration(migration, fake=fake) 
    File "/home/savingschampion/.virtualenvs/savings_champion/local/lib/python2.7/site-packages/django/db/migrations/executor.py", line 91, in apply_migration 
    if self.detect_soft_applied(migration): 
    File "/home/savingschampion/.virtualenvs/savings_champion/local/lib/python2.7/site-packages/django/db/migrations/executor.py", line 135, in detect_soft_applied 
    apps = project_state.render() 
    File "/home/savingschampion/.virtualenvs/savings_champion/local/lib/python2.7/site-packages/django/db/migrations/state.py", line 57, in render 
    self.apps = Apps([AppConfigStub(label) for label in sorted(self.real_apps + list(app_labels))]) 
    File "/home/savingschampion/.virtualenvs/savings_champion/local/lib/python2.7/site-packages/django/apps/registry.py", line 56, in __init__ 
    self.populate(installed_apps) 
    File "/home/savingschampion/.virtualenvs/savings_champion/local/lib/python2.7/site-packages/django/apps/registry.py", line 89, in populate 
    "duplicates: %s" % app_config.label) 
django.core.exceptions.ImproperlyConfigured: Application labels aren't unique, duplicates: sc_products 

이미 therefromhere에 의해 다음과 같은 대답을하고있는 중이 야 : 나는이 같은 문제를 했어 그냥 우연히 한

How to resolve "django.core.exceptions.ImproperlyConfigured: Application labels aren't unique, duplicates: foo" in Django 1.7?

답변

2

. 장고를 잠시 디버깅 한 후에 오랫동안 기다렸던 답변을 얻었을 것입니다.

이는 앱이 마이그레이션되지 않고 이전 된 것으로 처리되기 때문에 (앱 라벨을 변경하더라도 동일한 오류가 발생 함) 이는 앱이 구식 (남쪽) 마이그레이션 및 새로운 스타일 (장고) 마이그레이션이 포함됩니다.

이 문제를 해결하는 가장 좋은 방법은 새로 시작하는 것입니다. 번호가 매겨진 모든 이전을 삭제하고 (예 : rm migrations/0???_*.py*) manage.py makemigrations으로 전화하여 장고 마이그레이션 만 남았고 최신 상태인지 확인하십시오.

1

INSTALLED_APPS을 확인하십시오. 실수로 같은 앱이 두 번 나열되어 비슷한 오류가 발생했습니다.