0

我正在尝试使用 django 创建简单的博客。起初,我用命令创建了数据库

python manage.py syncdb

当我尝试保存博客文章时,出现以下错误

DatabaseError:表 blog_app_post 没有名为 body 的列

模型.py 代码:

 from django.db import models
    from taggit.managers import TaggableManager

        class Post(models.Model):
            title = models.CharField(max_length=255)
            body = models.TextField()
            created = models.DateTimeField()
            tags = TaggableManager()
            def __unicode__(self):
                return self.title

但名为 body 的列实际上是在 Db 中创建的。

BEGIN;
CREATE TABLE "blog_app_post" (
    "id" integer NOT NULL PRIMARY KEY,
    "title" varchar(255) NOT NULL,
    "body" text NOT NULL,
    "created" datetime NOT NULL
)

这个错误是什么意思,有人会为此提出解决方案吗?

4

2 回答 2

0

你怎么说它是创建的,你用它来检查它python manage.py sqlall

body最初运行 syncdb 后是否添加了字段。在这种情况下,您将不得不使用迁移。

于 2013-07-12T07:04:12.427 回答
0

这可能是因为您更改了帖子数据结构的结构。您现在需要做的是删除以前表的架构并粘贴到新表中。

您可以通过使用迁移管理器(如south.

因此,为了解决这个问题,运行manage.py sql <app_name>,然后您只需复制列表中最新的 SQL 表,即打印的第一个。然后,您只需maange.py dbshell粘贴并运行 SQL。

于 2013-07-12T07:05:59.610 回答