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

时间:2019-11-21 22:11:55

标签: python sql-server django pyodbc django-pyodbc-azure

我创建了一个Django应用程序,并通过可信连接将其连接到SQL Server。迁移时,Django会在数据库中创建一个新的架构名称(可信连接用户名),并将其作为前缀添加到所有表中。按照我的IT部门惯例,所有表均应使用“ dbo”前缀创建。

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

有人知道我该如何解决吗?参见下面更好的示例和一些代码。

摘要:
Django创建:'my_username.table_name'
我需要:“ dbo.table_name”

我的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

0 个答案:

没有答案