У меня есть миграция:
... def forwards(self, orm): for p in products.models.Product.objects.all(): new = cart.models.Product(title = p.title) new.save() def backwards(): ...
Но когда я запускаю миграцию, она проходит через цикл дважды.
у вас есть
no_dry_run = True
в определении миграции?
кроме того, я думаю, вы должны использовать orm.Product.objects.all()
orm.Product.objects.all()
Это происходит из-за того, что Юг запускается дважды: в первый раз он не касается DB, во второй раз толчок меняется на дБ.
Быстрый запуск решения ./manage migrate your_app --db-dry-run
./manage migrate your_app --db-dry-run
Или используйте
if not db.dry_run:
в вашем коде в разделах вперед / назад
обсуждается здесь http://south.aeracode.org/ticket/138