Django South "myapp.foo" уже существует "ошибка с начальной миграцией
У меня уже есть приложение с большим количеством записей в базе данных.
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
ошибка.
Я уже проверил этот вопрос, но --fake, похоже, больше не поддерживается через Юг.
1 ответ
Решение
Ваши модели кажутся мне недействительными, хотя я бы удивился, если бы именно это и стало причиной проблемы.
Похоже, ваш первый аргумент предназначен для 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)
(Вы также забыли u
перед verbose_name
за creation_time
).
В то же время, --fake
определенно все еще поддерживается (см. документацию), какую ошибку вы получаете, когда вы пытаетесь запустить его?