【问题标题】:Django South data migration is running twiceDjango South 数据迁移运行两次
【发布时间】:2010-02-26 09:03:29
【问题描述】:

我有一个迁移:

    ...

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

    def backwards():
        ...

但是当我运行 migrate 时,它​​会运行两次循环。

【问题讨论】:

    标签: django django-south


    【解决方案1】:

    你有吗

    no_dry_run = True
    

    在迁移定义中?

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

    【讨论】:

      【解决方案2】:

      发生这种情况是因为 South 运行了两次:第一次不接触 DB,第二次将更改推送到 db。

      快速解决方案运行./manage migrate your_app --db-dry-run

      或者使用

      if not db.dry_run:

      在您的代码中的前进/后退部分

      在这里讨论http://south.aeracode.org/ticket/138

      【讨论】:

        猜你喜欢
        • 2012-05-18
        • 2015-10-07
        • 2023-03-17
        • 2014-01-12
        • 2013-07-10
        • 2014-08-11
        • 2014-01-29
        • 2012-08-06
        • 2012-08-13
        相关资源
        最近更新 更多