2014-12-01 24 views
5

Django 1.7 ile belirli bir dağıtımda yeni Uygulama Kaydı ile ilgili bir sorun yaşıyorum. Tipik olarak örneği uçurup yeniden yaratırdım, ancak örneği yok ettiğimde oluşmaya devam eder.Django 1.7 Uygulama etiketleri benzersiz değil, çift kopyalar

Her zaman bu hataya neden olan ürünler uygulaması ve sc_products etiketini değiştirmek için bir app.py dosyası kullandım, ancak şimdi sc_products zaten tanımlanmış şeyler. Bu özel örnekte, uygulamayı taşımaya çalışıyordum.

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 

Zaten therefromhere tarafından şu cevabı yapıyorum: Ben aynı sorunu yaşadım ve sadece bu tökezledi var

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

cevap

2

. Kısa bir süre için django hata ayıkladıktan sonra, senin için uzun zamandır beklenen cevabı alabilirim.

Bunun nedeni, uygulamanızın hem toplu olarak hem de aynı anda taşınmış olarak işlenmeye başlaması (bu nedenle uygulama etiketini değiştirdiğinizde bile aynı hatayı üretmek) nedeniyle gerçekleşir. eski tarz (güney) geçişler ve yeni stil (django) geçişleri.

Bu durumun üstesinden gelmenin en iyi ve en kolay yolu taze başlamaktır. Tüm numaralı geçişlerinizi (ör. rm migrations/0???_*.py*) silin ve yalnızca django geçişlerinin kalmasını ve güncel olmasını sağlayarak manage.py makemigrations numaralı telefonu arayın.

1

INSTALLED_APPS'nızı kontrol edin. Yanlışlıkla aynı uygulamayı iki kez listeledim ve benzer bir hata yaşadım.

İlgili konular