Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 南方迁移-添加唯一约束时如何处理不一致的数据_Django_Django Models_Django South - Fatal编程技术网

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吗

提前谢谢

看看南方的。您必须编写一个方法,将数据转换为您的规范(理想情况下是一个用于回滚更改的反向方法,但对于类似于此任务的任务,它并不总是可能的)。

请参阅我的相关答案: