장고

2013-03-01 1 views
1
에서 마이그레이션을 수행하는 방법을

내 model.py 파일 "클래스의 책"에 대한장고

from django.db import models 

class Book(models.Model): 
    book_id=models.AutoField(primary_key=True,unique=True) 
    book_name=models.CharField(max_length=30) 
    author_name=models.CharField(max_length=30) 
    publisher_name=models.CharField(max_length=40) 
    def __unicode__(self): 
     return "%d %s %s %s" % (self.book_id,self.book_name, self.author_name,self.publisher_name) 


class Author(models.Model): 
    author_id=models.AutoField(primary_key=True) 
    first_name = models.CharField(max_length=30) 
    last_name = models.CharField(max_length=40) 
    email = models.EmailField() 
    book=models.ForeignKey(Book) 

    def __unicode__(self): 
     return u'%d %s %s' % (self.author_id,self.first_name, self.last_name) 

이다 나는 이미라는 이름의 새 테이블로 DB를 업데이트하기 위해 내가 길에서 오전 나누었다 manage.py syncdb를 사용하여 MySQL의 테이블을 생성 "저자"같은 일을하기위한 절차가 필요합니다. 왜냐하면 나는 같은 방식으로 후자를하려고하기 때문에 테이블은 DB에 만들어지지 않습니다.

도움이 필요합니다.

답변

1
`python syncdb` should not create any changes in the existing table 

사용 남쪽 마이그레이션 모델의 변화를 만들 것입니다 다음 명령

python manage.py migrate 

을 concept.run.

2

syncdb은 새로 지정한 테이블을 만들어야합니다. Author이 생성되지 않으면 올바른 방식으로 코딩되지 않았기 때문입니다. 그 줄이

age=int 

이면 구문 오류가 발생합니다. 당신은 DB 마이그레이션에 관한 한 아무것도 돌보는 Django South을 가지는 것이 더 낫다 그러나

age=models.IntegerField() 

: 당신은 integer field이 방법을 지정해야합니다.