Python 保存模型时,获取缺少列错误

Python 保存模型时,获取缺少列错误,python,django,postgresql,django-models,Python,Django,Postgresql,Django Models,我在django创建模型时遇到问题。我写了一个这样的模型: from django.db import models class FooModel(models.Model): name = models.CharField(max_length = 255) 我跑 但是当我在shell中时,我无法保存实例。每次我给它打电话,它都告诉我它缺了一列 manage.py shell >>from app.models import FooModel >>foo =

我在django创建模型时遇到问题。我写了一个这样的模型:

from django.db import models
class FooModel(models.Model):
    name = models.CharField(max_length = 255)
我跑

但是当我在shell中时,我无法保存实例。每次我给它打电话,它都告诉我它缺了一列

manage.py shell
>>from app.models import FooModel
>>foo = FooModel()
>>foo.name = 'foo'
>>foo.save()
DatabaseError: column "name" of relation "ecommerce_foomodel" does not exist
LINE 1: INSERT INTO "ecommerce_foomodel" ("name") VALUES (E'123123as...

我们正在使用postgres。

数据库表是在添加相应字段之前创建的

因此,您可以使用以下方法重新创建该应用程序的所有表(如果您没有任何有用的数据):


或者,您应该使用将数据库迁移到最新版本。

数据库表是在添加相应字段之前创建的

因此,您可以使用以下方法重新创建该应用程序的所有表(如果您没有任何有用的数据):


或者,您应该使用将数据库迁移到最新版本。

您可能希望尝试通过“manage.py reset ecommerce”重置应用程序,甚至重新创建数据库,然后是syncdb。如何重新创建数据库?抱歉,我对所有这些都不熟悉。您必须重置的原因是,如果您有一个名为
ecommerce\u foomodel
的现有表,那么
syncdb
将忽略它,它不会更改表以添加任何新列。它只会在表不存在的情况下创建表。如果您使用postgres并且重置不起作用,我只会使用pgadminIII删除并重新创建数据库。您可能希望尝试通过“manage.py reset ecommerce”重置应用程序,甚至重新创建数据库,然后是syncdb。如何重新创建数据库?抱歉,我对所有这些都不熟悉。您必须重置的原因是,如果您有一个名为
ecommerce\u foomodel
的现有表,那么
syncdb
将忽略它,它不会更改表以添加任何新列。它只会在不存在的情况下创建表。如果您使用postgres和reset不起作用,我只会使用pgadminIII删除并重新创建数据库。
manage.py shell
>>from app.models import FooModel
>>foo = FooModel()
>>foo.name = 'foo'
>>foo.save()
DatabaseError: column "name" of relation "ecommerce_foomodel" does not exist
LINE 1: INSERT INTO "ecommerce_foomodel" ("name") VALUES (E'123123as...
python manage.py reset ecommerce