我有一个迁移:
...
def forwards(self, orm):
for p in products.models.Product.objects.all():
new = cart.models.Product(title = p.title)
new.save()
def backwards():
...
但是当我运行迁移时,它会循环两次。
答案 0 :(得分:8)
你有吗
no_dry_run = True
在迁移定义中?
此外,我认为你应该使用orm.Product.objects.all()
答案 1 :(得分:5)
这是因为South运行两次:第一次没有触及DB,第二次将更改推送到db。
快速解决方案运行./manage migrate your_app --db-dry-run
或使用
if not db.dry_run:
在前向/后退部分的代码中