Django表是使用在域名之前加前缀的域\用户名生成的

时间:2016-02-11 06:25:53

标签: python sql-server django

我正在使用带有Django的Microsoft SQL Server(1.8.4)。当我运行迁移时,表格将创建为

domain\username.table_name1
domain\username.table_name2

而不是

table_name1
table_name2

我该如何解决这个问题?是否有命名格式的配置?

Django正在Ubuntu 14.04上运行。

2 个答案:

答案 0 :(得分:0)

这是设计使然,因此您可以在多个应用程序中使用类似的模型。否则,两个应用程序可能会使用" Expenses"或"歌曲"模型,DB将无法创建两个具有相同名称的表。

您通常应该坚持默认的命名方案。

db_table Meta选项允许您指定表名,但它主要用于现有的旧数据库。

答案 1 :(得分:0)

更改用户正在连接的默认架构。
当您创建用户并允许其访问数据库时,服务器会创建同名的架构并将其设置为用户的默认架构。如果你没有明确地设置一个。

Django不能使用模式,也不会尝试创建“dbo.MyTable” - 它会尝试创建“MyTable”,最后它会转到默认模式,即你的用户名。