2013-07-12 1 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