Django South数据迁移正在运行两次

Django South数据迁移正在运行两次,django,django-south,Django,Django South,我有一个迁移: ... def forwards(self, orm): for p in products.models.Product.objects.all(): new = cart.models.Product(title = p.title) new.save() def backwards(): ... 但是,当我运行migrate时,它会在循环中运行两次。您有 no_dry_run = True 在迁

我有一个迁移:

    ...

def forwards(self, orm):
    for p in products.models.Product.objects.all():
        new = cart.models.Product(title = p.title)
        new.save()

    def backwards():
        ...
但是,当我运行migrate时,它会在循环中运行两次。

您有

no_dry_run = True
在迁移定义中


此外,我认为您应该使用
orm.Product.objects.all()

这是因为South运行了两次:第一次它不接触DB,第二次将更改推送到DB

快速解决方案运行
/manage迁移您的应用程序--db dry run

或使用

如果不是db.dry\u运行:

在向前/向后部分的代码中

这里讨论