2012-01-31 2 views
1

여기 내 Model for Teacher 클래스가 있습니다. Django ManyToMany 필드가 모델에 생성되지 않았습니다.

class Teacher(Profile): 
    class Meta: 
     db_table = 'teacher' 

    user = models.OneToOneField(User, 
           unique=True, 
           verbose_name=_('user'), 
           related_name='teacher') 

    home_address = models.CharField(_('home_address'), max_length=255, blank=True) 
    home_phone = models.CharField(_('home_phone'), max_length=30, blank=True) 
    cell_phone = models.CharField(_('cell_phone'), max_length=30, blank=True) 
    experience = models.IntegerField(default = 0) 
    summary = models.TextField(_('summary'), max_length=500, blank=True) 
    subjects = models.ManyToManyField(Subjects, through='SubjectsIntermediate') 

가 나는 않는 manage.py syncdb subjects 필드를 제외한 모든 필드와 teacher 테이블을 생성 할 때 실행. subjects 필드가 만들어지지 않은 이유는 무엇입니까 ??

답변

5

ManyToMany는 데이터베이스 열로 존재하는 필드가 아니기 때문에 필드가 아닙니다. 그것은 연결 테이블과의 관계입니다. 교사와 과목 모두에 외래 키가있는 myapp_teacher_subjects이라는 테이블이 만들어 졌음을 알 수 있습니다.

+0

감사합니다. 내 코드에 문제가 있다면 생각 중이 야. –

+1

'myapp_teacher_subjects' 테이블이 아니라'through' arg 때문에'myapp_subjectsintermediate' 테이블입니다. – DrTyrsa

관련 문제