2012-01-31 57 views
1

這是我的教師類模型。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創建teacher表,除了現場subjects所有字段。爲什麼subjects字段沒有創建?

回答

5

因爲ManyToMany不是一個字段,至少不是作爲數據庫列存在的字段。這是與鏈接表的關係。你會發現已經創建了一個名爲myapp_teacher_subjects的表,其中包含教師和主題的外鍵。

+0

謝謝。我在想如果我的代碼有問題。 – 2012-01-31 13:26:10

+1

由於通過arg,只是不是'myapp_teacher_subjects'表,而是'myapp_subjectsintermediate'。 – DrTyrsa 2012-01-31 14:05:38

相關問題