Django South сломал мою базу данных (не может отказаться от ограничений) - PullRequest
0 голосов
/ 08 апреля 2011

Я хотел добавить таблицу и внешний ключ к этой таблице.Первоначально у меня было:

class VirtualMachine(models.Model):
    ...

Затем я изменил это на:

class OperatingSystem(models.Model):
    name = models.CharField(max_length=40)

    def __unicode__(self):
        return self.name

class VirtualMachine(models.Model):
    operating_system = models.ForeignKey(OperatingSystem, default=1)

, и я хотел сделать запись так, чтобы 1 было "WindowsXP".Югу это не понравилось, поэтому я изменил последнюю строку на:

    operating_system = models.ForeignKey(OperatingSystem, null=True)

Это сработало нормально.После этой миграции я добавил запись «WindowsXP» и изменил ее обратно на:

    operating_system = models.ForeignKey(OperatingSystem, default=1)

Я сделал python manage.py schemamigration app --auto, который работал нормально, затем python manage.py migrate app, который заморозился.Froze!

Я отменил это и вошел в psql.Я не мог сделать SELECT * FROM app_virtualmachine; - это зависло бы, хотя получать вещи из других столов не будет.Я даже не мог выбрать только колонку оттуда.Я пытался сбросить ограничение на юг добавил, но тоже не хорошо.Что дает?

1 Ответ

2 голосов
/ 08 апреля 2011

Ах, я думаю, что стол заперт или что-то в этом роде. Я перезапустил postgres, а затем мог сделать что-то вручную на столе и спасти его.

...