Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在不正确的架构下创建Django数据库表_Python_Sql Server_Django_Pyodbc_Django Pyodbc Azure - Fatal编程技术网

Python 在不正确的架构下创建Django数据库表

Python 在不正确的架构下创建Django数据库表,python,sql-server,django,pyodbc,django-pyodbc-azure,Python,Sql Server,Django,Pyodbc,Django Pyodbc Azure,我创建了一个Django应用程序,并使用可信连接将其连接到SQL Server。当我迁移时,Django正在数据库中创建一个新的模式名(可信连接用户名),并将其作为前缀添加到所有表中。根据我的IT部门惯例,所有表都应该使用“dbo”前缀创建 最有趣的部分是:当我从SSMS访问数据库(也使用可信连接)并创建新数据库时,我没有这个问题,它创建为“dbo.table_name” 有人知道我怎么修吗?请参阅下面更好的示例和一些代码 总结: Django创建:“我的用户名。表名” 我需要:“dbo.tab

我创建了一个Django应用程序,并使用可信连接将其连接到SQL Server。当我迁移时,Django正在数据库中创建一个新的模式名(可信连接用户名),并将其作为前缀添加到所有表中。根据我的IT部门惯例,所有表都应该使用“dbo”前缀创建

最有趣的部分是:当我从SSMS访问数据库(也使用可信连接)并创建新数据库时,我没有这个问题,它创建为“dbo.table_name”

有人知道我怎么修吗?请参阅下面更好的示例和一些代码

总结:
Django创建:“我的用户名。表名”
我需要:“dbo.table\u name”

My django settings.py

DATABASES = {
    'default': {
        'ENGINE': 'sql_server.pyodbc',
        'NAME': 'dabase_name',
        'HOST': 'database_host',
        'USER': '',

    'OPTIONS': {
            'driver': "ODBC Driver 17 for SQL Server",
            'Trusted_Connection' : 'Yes',
        }
    }
}
我的一个模型(表)示例:

class Sap_module(models.Model):
    sap_module = models.CharField(max_length=2, unique=True)
    available = models.BooleanField(default=True)

    def __str__(self):
        return self.sap_module

有一个老的hack可能不再有效,将您的db_表设置为'dbo].[Sap_module'和Django将用括号括起来,并将表名构造为
[dbo].[Sap_module]
@mgrollins,这可能会解决从模型创建的表的问题,但不会解决django管理表的问题,因为我将无法包含您上面提到的代码。我阅读了您发送的链接,但它只是修复了模型…感谢您的支持。好的,我自己还没有解决这个问题。您能将django实例设置为双数据库,在您的服务器上的SQLite数据库中有管理员,在SQL server数据库中有您的模型?然后您可以在SQL server中定义模型的表名。Django不完全支持SQL server或模式,这是表名的
dbo
部分所表示的。您需要Django的完整管理员/模型功能吗?如果您的项目更具数据科学性,您只是从SAP模型中提取数据,也许Flask更适合?我知道Danny Greenfield使用Flask,如果它不是DB支持的(CRUD)应用程序。事实上,它正在按原样工作,但我没有遵守公司标准…这是唯一的问题。非常感谢您的支持。我仍在尝试,但目前我将保持原样。