Django 南方迁移-添加唯一约束时如何处理不一致的数据
我有一个模型,看起来像这样:Django 南方迁移-添加唯一约束时如何处理不一致的数据,django,django-models,django-south,Django,Django Models,Django South,我有一个模型,看起来像这样: class CollectionResource(models.Model): resource = models.ForeignKey(Resource) collection = models.ForeignKey(Collection) order = models.IntegerField(null=True, blank=True) 我想确保每个系列都有一个唯一的订单值,因此我添加了: class Meta: unique
class CollectionResource(models.Model):
resource = models.ForeignKey(Resource)
collection = models.ForeignKey(Collection)
order = models.IntegerField(null=True, blank=True)
我想确保每个系列都有一个唯一的订单值,因此我添加了:
class Meta:
unique_together = ('collection', 'order')
manage.py schemamigration --auto my_app
manage.py migrate my_app
但是我得到了一个完整性错误,因为数据库中的值不符合新的约束
(我已经有多次具有相同orde值的集合)
我知道南方不会制造巫毒魔法来修正我的数据:),但我不知道如何修正这些值。我应该为此作业编写原始SQL吗
提前谢谢看看南方的。您必须编写一个方法,将数据转换为您的规范(理想情况下是一个用于回滚更改的反向方法,但对于类似于此任务的任务,它并不总是可能的)。请参阅我的相关答案: