我使用django。
我在这个文件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',
}
}
在Command prompt
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 :(得分:1)
您应该选择所需的后端模块(请参阅命令行中的所有可用模块)。纠正这一行:
ENGINE = 'postgresql_psycopg2' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'
答案 1 :(得分:1)
错误消息似乎非常明确:您的默认数据库设置要求找不到的django数据库后端 - 它不存在或未安装,或者您没有将正确的python限定名称传递给后端。
答案 2 :(得分:1)
最后我找到了答案。
我最常使用支持Django
的另一版SQL Server 2012
并在我的Python中加载。
我认为django-mssql 1.4rc2
对我的目的有好处。
支持Django
及更高版本的SQL Server 2005
版"Python: Package Index > django-mssql"。
但是,我无法使用Django 1.6
并连接到SQL Server 2012
。