django-pyodbc-azure - 如何使用模式

django-pyodbc-azure - How to use schemas

我正在使用 django-pyodbc-azure (https://github.com/michiya/django-pyodbc-azure),一切正常。但是,当我迁移模型时,会在 SQL 服务器数据库上创建一个名为 'dbo' 的新模式。我想使用现有的 'sp' 模式,有什么方法可以设置工作模式吗?

提前致谢。

IIRC,您需要更改您正在连接的用户的默认架构。如果您使用的是名为 django_user:

的 SQL Auth 用户
ALTER USER django_user WITH DEFAULT_SCHEMA = [sp]

祝你好运。

定义一个模型的Metaclass下的db_table如下:

db_table = "[your_schema].[your_table]"

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

对于您的情况,您需要设置:

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