所以我使用 django-mssql 和 pywin32-218.win-amd64-py2.7 将我的 Django 应用程序连接到 SQL 服务器数据库
如果我通过创建模型和同步数据库从头开始,一切都很好。
但是,我想连接到现有的SQL Server DB。我按照这些说明操作
并最终得到以下模型:
from __future__ import unicode_literals
from django.db import models
class Payload(models.Model):
id = models.sqlserver_ado.fields.BigAutoField(db_column='Id') # Field name made lowercase.
code = models.CharField(db_column='Code', max_length=10) # Field name made lowercase.
body = models.TextField(db_column='Body') # Field name made lowercase.
class Meta:
managed = False
db_table = 'Payload'
如果我尝试运行"运行服务器",则会出现以下错误:
文件"C:\Users\luke\PycharmProjects\project\API\models.py",第 7 行,在有效负载中 id = models.sqlserver_ado.fields.BigAutoField(db_column='Id') # 字段名称变为小写。属性错误:"模块"对象没有属性"sqlserver_ado"
但是,如果我注释掉"id = models.sqlserver_ado.fields.BigAutoField(db_column='Id') # 字段名称变为小写"这一行。
一切都完美地燃烧起来。
有什么想法吗?!
如果您安装了sqlserver_ado。像这样导入 BigAutoField:
from sqlserver_ado.fields import BigAutoField
然后将id = models.sqlserver_ado.fields.BigAutoField(db_column='Id') # Field name made lowercase
替换为
id = BigAutoField(db_column='Id') # Field name made lowercase.