2013-11-28 34 views
1

我使用django。爲什麼python manage.py sql民意調查有錯誤?

我在這個文件models.py我的模型是這樣建立:

from django.db import models 

class Poll(models.Model): 
    question = models.CharField(max_length=200) 
    pub_date = models.DateTimeField('date published') 

class Choice(models.Model): 
    poll = models.ForeignKey(Poll) 
    choice_text = models.CharField(max_length=200) 
    votes = models.IntegerField(default=0) 

我修改了這個文件settings.py這樣

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

和我改變畝數據庫SQL Server 2012

DATABASES = { 
    'default': { 
     'NAME': 'DjangoFirst', 
     'ENGINE': 'sqlserver_ado', 
     'HOST': 'PCClient', 
     'USER': 'sa', 
     'PASSWORD': 'sa', 
    } 
} 

當我在執行這個命令

python manage.py sql polls 

我得到這個錯誤:

django.core.exceptions.ImproperlyConfigured: 'sqlserver_ado' isn't an available 
database backend. 
Try using 'django.db.backends.XXX', where XXX is one of: 
    u'mysql', u'oracle', u'postgresql_psycopg2', u'sqlite3' 
Error was: No module named sqlserver_ado.base 

是什麼(是)錯了嗎?

+0

不要以爲django支持_SQL Server 2012_呢。 – Rohan

+0

你沒有得到可以幫助你的答案嗎? – greg

+0

尚未?您的答案是關於postgresql,但我想連接到SQL Server。和我在這篇文章中找到我的答案http://stackoverflow.com/questions/20265854/how-i-can-configure-django-database-on-sql-server –

回答

1

最後我找到了答案。

我最常用的Django的另一個版本支持SQL Server 2012 並在我的Python中加載。

我認爲django-mssql 1.4rc2是一個很好的爲我的目的。

這是支持SQL Server 2005及更高版本的Django版本的"Python: Package Index > django-mssql"

但是,我不能使用Django 1.6並連接到SQL Server 2012呢。

+0

下一個版本的django-mssql將支持Django 1.6和Django 1.7。 https://bitbucket.org/Manfre/django-mssql/ – Manfre

1

您應該選擇需要的後端模塊(請參閱註釋行中的所有可用模塊)。更正這一行:

ENGINE = 'postgresql_psycopg2' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle' 
+0

我想爲我的數據庫使用SQL Server 2012?!? –

+0

也許試試這個版本的[mssql後端](https://bitbucket.org/Manfre/django-mssql/src)? – greg

1

該錯誤消息似乎很明確:你的默認數據庫設置要求一個Django的數據庫後端,不能發現 - 要麼不存在,或者未安裝或不通過將Python限定名稱修改爲您的後端。

+0

我該如何解決它? –