Миграция данных с Django South выполняется дважды - PullRequest
6 голосов
/ 26 февраля 2010

У меня есть миграция:

    ...

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

    def backwards():
        ...

Но когда я запускаю миграцию, она проходит через цикл дважды.

Ответы [ 2 ]

8 голосов
/ 26 февраля 2010

у вас есть

no_dry_run = True

в определении миграции?

кроме того, я думаю, вы должны использовать orm.Product.objects.all()

5 голосов
/ 14 мая 2012

Это происходит из-за того, что Юг запускается дважды: в первый раз он не касается DB, во второй раз толчок меняется на дБ.

Быстрый запуск решения ./manage migrate your_app --db-dry-run

Или используйте

if not db.dry_run:

в вашем коде в разделах вперед / назад

обсуждается здесь http://south.aeracode.org/ticket/138

...