2013-11-28 31 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

我该如何解决它? –