2013-07-12 49 views
0

我正尝试使用django创建简单的博客。 起初,我创建数据库命令使用django创建博客时出现数据库错误

python manage.py syncdb

当我尝试保存的博客文章,我得到以下错误

DatabaseError: table blog_app_post has no column named body

models.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 
) 

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

+0

请你用'manage.py SQL ',对我们来说,和我们展示的输出,这将有助于我们理解您的问题。 –

回答

0

这可能是因为你改变了你的帖子数据结构的结构。你现在需要做的是删除你的上一张表的模式并粘贴到新模板中。

您可以使用迁移管理器如south避免这样的问题。

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

0

你怎么说,它的创建,您可以使用python manage.py sqlall检查呢?

你有没有开始运行后执行syncdb添加字段body。在这种情况下,您将不得不使用迁移。

+0

雅我使用了'python manage.py sqlall'.thanks帮助 – vr22

相关问题