使用a将列添加到现有django表。 postgreSQL db

时间:2018-03-13 21:50:49

标签: django postgresql django-models django-migrations

我一直在寻找如何做到这一点,我认为我打破了我的桌子

我尝试添加

dealership = models.ForeignKey('Employee', null=True)

到models.py的字段,因为我注意到那是我的其他列字段,现在整个表都消失了。

经过一些研究后,我发现它应该被添加到迁移位置,然后运行

$ python models.py migrations

继承我要将其添加到

的模型
## Gate access log - receives from RPi via API
##
class Eventlog(models.Model):
    ENTRY = 1
    EXIT = 2
    EVENT_CHOICES = (
        (ENTRY, 'Entry'),
        (EXIT, 'Exit'),
    )
    event = models.PositiveSmallIntegerField(choices=EVENT_CHOICES)
    employee = models.ForeignKey('Employee', null=True)
    timestamp = models.DateTimeField(auto_now_add=True)
    status = models.BooleanField(default=True, help_text="Whether the employee was granted access")

    def __unicode__(self):
        return self.timestamp

    def __str__(self):
        return self.timestamp

正如评论所暗示的那样,它从覆盆子pi中通过api

拉出来

我的问题是如何正确添加列,数据库已经拥有列数据的信息我无法想象简单地提取该信息很难以及如何让我的表恢复?在我手动添加到models.py之后,这个表似乎已经消失了,当我尝试撤消它时,它再也没有回来。

1 个答案:

答案 0 :(得分:0)

您需要运行两个命令:

python manage.py makemigrations

然后

python manage.py migrate