2013-11-27 13 views
22

Ben Django öğretici takip etmeye çalışıyorum ve ben buradaDjango: Hata: Bilinmeyen komut: 'makemigrations'

Unknown command: 'makemigrations' 

python manage.py makemigrations polls eğitimine link var girerken aşağıdaki hatayı karşılaştığı ve tüm önceki başarılı başarılı adımlar ve şimdi neyin yanlış gittiğinden veya nasıl düzeltileceğinden emin değilim. P.S .: INSTALLED_APPS içinde zaten "anketler" ekledim!

INSTALLED_APPS = (
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'polls', 
    'South', 
) 

Cevap: Ben INSTALLED_APPS değiştirmek zorunda kaldı:

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

ve ayrıca bu komutu kullanılır:

cevap

22

Göçler ilk sürümü 1.7 eklendi python manage.py syncdb, resmen 2 Eylül 2014 tarihinde yayınladı. Öğreticinizin üzerinde çalıştığınız Django sürümüyle eşleştiğinden emin olmanız gerekir. Örneğin, öğretici bu sürümü 1.9 kapsar: Eğer Django eski bir sürümünü kullanıyorsanız,

https://docs.djangoproject.com/en/1.9/intro/tutorial01/

Veya, sende ne olursa olsun versiyonu bu URL'den içinde "1,9" olarak değiştirebilirsiniz (1.3'e geri dön). Veya sürümü seçmek ve "eğitici" için arama yapmak için dokümanlar sayfasındaki açılır menüyü kullanın.

+0

hatta 'Sou eklendi yapmadan önce sanal ortam yüklemeniz gerekir Henüz Installed_app içinde ve henüz çalışmıyor –

+0

Ayrıca 'django.get_version()' bana '1.6' verir. Yani bu sürümde yer alan taşıma işlemi değil mi? –

+2

Hayır, geçişler 1.6'ya dahil değildir. 1.6 öğreticinin bunlara başvurmadığını fark edeceksiniz. Güney'e gelince, bu Güney için doğru komut değil. South ile uğraşmadan önce Django öğreticisi ile çalışmanızı tavsiye ederim, ancak baştan başlamak istiyorsanız, belgelerini kontrol etmeniz gerekir, örneğin, http://south.readthedocs.org/en/latest/tutorial/part1 .html # the-first-migrasyon –

3

sen (thanks @BradyEmerso n) çalıştırıyorsanız django hangi sürümünü öğrenin:

python -c "import django; print(django.get_version())" 

daha eski 1.8 ise: Ben 1.9 sürümünü kullanan ve hala bu hatayı başlamıştı

pip install --upgrade django 
1

. Uyuşmayan göçlerim vardı ve benim durumumdaki temel neden buydu. Onları uygulamak için 'python manage.py migrate' koştum ve benim için çalıştı. Eğer Django eski sürümünü kullanıyorsanız eğer öyleyse django ise

1

sonra settings.py değiştirip

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

gibi yüklü uygulamasında uygulama eklemek zorunda ve sonra komutu

çalıştırabilirsiniz 1.7 sonra eklenen makemigration

python manage.py syncdb