【问题标题】:Django Azure SQL ProgrammingError Invalid Object nameDjango Azure SQL ProgrammingError 无效的对象名称
【发布时间】:2022-01-25 14:33:09
【问题描述】:

我正在尝试通过 mssql-django 将 Azure SQL 与 Django 一起使用。 我在“makemigrations”期间收到此错误:

django.db.utils.ProgrammingError: ('42S02', "[42S02] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]无效的对象名称 'customer_group_customergroup'。 (208) (SQLExecDirectW); [42S02] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]声明 无法准备。 (8180)")

与 Azure SQL 的连接已经开始工作。如果我启动一个新应用程序,我可以毫无问题地进行迁移并将其迁移到 Azure SQL。

如果我只迁移“customer_group”应用程序,没有问题。该问题仅在我要迁移应用程序时出现,其模型包含名为 customer_group 的外键字段。我尝试重命名该字段(怀疑这是一些命名冲突),但错误仍然存​​在。

有谁知道如何纠正这个错误?谢谢!

编辑: 我的 customer_group 应用有这个模型:

class CustomerGroup(models.Model):
    name = models.CharField(max_length=50, unique=True, blank=False, null=False,
                            verbose_name="Customer group name")
    owner_first_name = models.CharField(max_length=20, blank=False, null=False)
    owner_last_name = models.CharField(max_length=20, blank=False, null=False)
    address = models.CharField(max_length=100, blank=False, null=False)
    phone = models.CharField(max_length=15, blank=False, null=False)
    billing_info = models.CharField(max_length=200, blank=False, null=False)
    uuid = models.UUIDField(unique=True, default=uuid.uuid4,
                            editable=False, blank=False, null=False)

    def __str__(self):
        return self.name

【问题讨论】:

  • 你能分享apps的迁移吗?它可能缺少对为 CustomerGroup 模型创建表的迁移的依赖。

标签: python sql-server django azure


【解决方案1】:

这个问题显然是由从数据库中获取一些默认值的视图引起的。问题是因为数据库是空的,所以还没有值。

通过首先注释 url 解决了问题,以便 django 在迁移期间不会检查视图。然后迁移数据库并运行服务器。然后我添加了 django 查找的默认值并取消注释 url。

【讨论】:

    猜你喜欢
    • 2018-08-14
    • 2017-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多