2012-01-31 62 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

相关问题