Python 如何在django中向表插入列

Python 如何在django中向表插入列,python,django,Python,Django,我是python新手,我在models.py中构建了一个表,如下所示: class book(models.Model): name = models.CharField(max_length = 20) grade = models.CharField(max_length = 20, blank = True, null = True) def __unicode__(self): return self.name +self.grade + self

我是python新手,我在models.py中构建了一个表,如下所示:

class book(models.Model):
    name = models.CharField(max_length = 20)
    grade = models.CharField(max_length = 20, blank = True, null = True)
    def __unicode__(self):
        return self.name +self.grade + self.nick
现在,我想在重写代码时向table book插入一列:

class book(models.Model):
    name = models.CharField(max_length = 20)
    grade = models.CharField(max_length = 20, blank = True, null = True)
    nick = models.CharField(max_length = 20)  
    def __unicode__(self):
        return self.name +self.grade + self.nick
但是,当我运行命令时:python manage.py syncdb就可以了 但是,当我跑步时:

从db.models导入手册 book.objects.all() 这是错误的

我真的不知道如何更改它,顺便说一下,如何删除整个表?就像在MySQL中一样?
谢谢

您需要告诉您的数据库,您的模型在每次修改时都会更改。你应该学会如何使用。South允许在Django模型中创建迁移,而不是编写
altertable…
South为您跟踪更改并将其应用于数据库。这里有一个很好的教程


无论如何,如果您是从Django开始的,在Django 1.7中,模式迁移是Django固有的,您不需要第三方应用程序。如果该表没有任何重要数据,或者您只是在测试,则可以从数据库中删除该表。然后运行python manage.py syncdb

可能重复的
OperationalError: no such column: db_book.nick