2

我有一个已经存在的应用程序,其中包含很多数据库条目

class Foo(models.Model):
    value = models.TextField(u"Value")

为此,我这样做:

python manage.py schemamigration myapp --initial
python  manage.py migrate myapp

我将模型更改为:

class Foo(models.Model):
    value = models.TextField(u"Value")
    live = models.BooleanField(u"Live", default=False)
    creation_time = models.DateTimeField("Creation Time", auto_now_add=True, null=True, blank=True)

并迁移:

python manage.py schemamigration myapp --auto
python  manage.py migrate myapp

我得到django.db.utils.DatabaseError: relation "myapp.foo" already exists错误。

我已经检查过这个问题,但 South 似乎不再支持 --fake 了。

4

1 回答 1

3

您的模型对我来说看起来无效,但如果这实际上是导致问题的原因,我会感到惊讶。

看起来你的第一个参数是verbose_name属性,你的模型应该是这样的:

class Foo(models.Model):
    value = models.TextField(verbose_name = u"Value")
    live = models.BooleanField(verbose_name = u"Live", default=False)
    creation_time = models.DateTimeField(verbose_name = u"Creation Time", auto_now_add=True, null=True, blank=True)

(你也忘记了foru之前的)。verbose_namecreation_time

同时,--fake绝对仍然受支持(请参阅文档),当您尝试运行它时遇到什么错误?

于 2010-08-19T07:35:08.260 回答