0

我想向该表添加一个表和一个外键。最初我有:

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”。不过,South 不喜欢这样,所以我将最后一行更改为:

    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,冻结了。冻结!

我取消它并进入psql. 我做不到SELECT * FROM app_virtualmachine;——那会挂起,尽管从其他桌子上拿东西不会。我什至不能从那里只选择一列。我尝试放弃 South 添加的约束,但也没有好处。是什么赋予了?

4

1 回答 1

2

啊,我想桌子被锁上了。我重新启动了 postgres,然后可以手动对表执行操作并拯救它。

于 2011-04-07T23:48:58.757 回答