django pyodbc azure-如何使用模式

django pyodbc azure-如何使用模式,django,django-pyodbc,django-pyodbc-azure,Django,Django Pyodbc,Django Pyodbc Azure,我使用的是django-pyodbc-azure(),一切正常。但是,当我迁移模型时,会在SQL Server数据库上创建一个名为“dbo”的新模式。我想使用已经存在的“sp”架构,是否有任何方法设置工作架构 提前感谢。IIRC,您需要为您连接的用户更改默认模式。如果您使用的是名为django\u user的SQL身份验证用户: ALTER USER django_user WITH DEFAULT_SCHEMA = [sp] 祝你好运。在一个模型的元类下定义db_表,如下所示: db_tab

我使用的是django-pyodbc-azure(),一切正常。但是,当我迁移模型时,会在SQL Server数据库上创建一个名为“dbo”的新模式。我想使用已经存在的“sp”架构,是否有任何方法设置工作架构


提前感谢。

IIRC,您需要为您连接的用户更改默认模式。如果您使用的是名为
django\u user
的SQL身份验证用户:

ALTER USER django_user WITH DEFAULT_SCHEMA = [sp]

祝你好运。

在一个模型的元类下定义db_表,如下所示:

db_table = "[your_schema].[your_table]"

我发现许多答案似乎不再有效了。相反,在定义
db_table
时,我使用找到的指令设置模式,例如
schema].[table
。不要打开那些方括号;重要的是模式和表名之间的
.

在您的情况下,您需要设置:

class Meta:
    managed = False
    db_table = 'sp].[tablename'

谢谢你的回答。我希望这可以在Django数据库设置中设置,但这似乎是不可能的。如果没有一些非常难看的黑客,这是不可行的!最好只创建一个具有默认架构的新SQL Auth用户。这在Django 3中仍然有效。请注意,更改用户的架构,然后应用迁移将导致所有的表都是双倍的。谢谢!有人能确认这个答案是正确的吗?(在我们为一个大项目选择Django和MS SQL之前,我们有很多不同SQL模式的现有表)这成功了!我已经寻找了一周的解决方案,你是一个项目节约者。请注意,这只适用于现有数据库中的模式,
sqlflush
,迁移仍然会失败。这不包括django默认表和库生成表,所以我认为它不会解决大多数人的问题。我需要一种方法来glo请为整个项目指定一个模式。