我正在尝试删除在两个模型字段中定义的unique
约束(使用South 0.8.2)。
我需要离开:
billing_id = models.PositiveIntegerField(_("Billing id"), unique=True, blank=True, null=True)
tax_code = models.CharField(_("Tax code"), max_length=10, unique=True, blank=True, null=True)
要:
billing_id = models.PositiveIntegerField(_("Billing id"), blank=True, null=True)
tax_code = models.CharField(_("Tax code"), max_length=10, blank=True, default='')
但是,当我运行迁移时,我收到以下错误:
Warning: Data truncated for column 'tax_code' at row 1
如果我再次运行它,那么我得到:
ValueError: Cannot find a UNIQUE constraint on table startups_startup, columns ['billing_id']
达到这一点,我必须手动重新创建唯一索引。
桌面上有现有记录,我正在使用MySQL。
这样做有“简单方法”吗?
答案 0 :(得分:1)
为了解决这个问题,我做了以下几点:
schemamigration
并迁移它。tax_code
移除null = True,运行schemamigration
并再次迁移。步骤2)显示Truncated data
警告,但运行正常。重新迁移它不会显示任何错误,所以一切似乎都很好!
希望这也有助于其他人!