Tag: django south

你可以向南迁移吗?

您可以将应用程序向后迁移到Django South的第一次迁移之前吗? 如果没有,是否有计划添加这样的function,也许使用通过migrate的选项?

南:不能ALTER TABLE,因为它有未决的触发事件

我想从TextField中删除null = True: – footer=models.TextField(null=True, blank=True) + footer=models.TextField(blank=True, default='') 我创build了一个模式迁移: manage.py schemamigration fooapp –auto 由于一些页脚列包含NULL我得到这个错误,如果我运行迁移: django.db.utils.IntegrityError: column "footer" contains null values 我将这添加到模式迁移: for sender in orm['fooapp.EmailSender'].objects.filter(footer=None): sender.footer='' sender.save() 现在我得到: django.db.utils.DatabaseError: cannot ALTER TABLE "fooapp_emailsender" because it has pending trigger events 哪里不对?

使用Django / South重命名模型最简单的方法是什么?

我一直在南方的网站上寻找答案,Google和SO,但找不到一个简单的方法来做到这一点。 我想使用South重命名一个Django模型。 假设你有以下几点: class Foo(models.Model): name = models.CharField() class FooTwo(models.Model): name = models.CharField() foo = models.ForeignKey(Foo) 而你想把Foo转换成Bar,即 class Bar(models.Model): name = models.CharField() class FooTwo(models.Model): name = models.CharField() foo = models.ForeignKey(Bar) 为了简单FooTwo ,我只是FooTwo名字从Foo改成Bar ,但是现在忽略FooTwo的foo成员。 使用South最简单的方法是什么? 我可能可以做一个数据迁移,但似乎很相关。 写一个自定义的迁移,例如db.rename_table('city_citystate', 'geo_citystate') ,但我不知道如何解决在这种情况下的外键。 一个更简单的方法,你知道吗?

Django South – 表已经存在

我正在尝试与南方开始。 我有一个现有的数据库,我加了南( syncdb , schemamigration –initial )。 然后,我更新了models.py来添加一个字段并运行./manage.py schemamigration myapp –auto 。 它似乎find了领域,并说我可以申请./manage.py migrate myapp 。 但是,这样做给了错误: django.db.utils.DatabaseError: table "myapp_tablename" already exists tablename是models.py中列出的第一个表格。 我正在运行Django 1.2,南0.7

使用Django South重build迁移历史的build议方法是什么?

我已经积累了很多使用南(0.7)和Django(1.1.2)的迁移,在我的unit testing中开始消耗相当多的时间。 我想重新设置基线并开始一组新的迁移。 我已经回顾了南方的文档 ,做了通常的谷歌/ Stackoverflowsearch(例如“Django南(复位或删除或删除)迁移历史”),并没有发现任何明显的。 我想到的一种方法将涉及到“重新开始”,“删除”南或“手动清除”历史logging(例如,清除数据库表,从迁移指导中删除迁移文件),然后重新运行, ./manage.py schemamigration southtut –initial 所以,如果有人已经这样做了,并有一些提示/build议,他们将不胜感激。