Django ManyToMany字段不是在模型中创建的

Aam*_*nan 2 python django django-models

这是我的Model for Teacher课程.

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')
Run Code Online (Sandbox Code Playgroud)

当我执行manage.py syncdb它时,它会创建teacher包含除字段之外的所有字段的表subjects.为什么subjects没有创建该字段?

Dan*_*man 6

因为ManyToMany不是字段,所以至少不存在作为数据库列存在的字段.这是与链接表的关系.您会发现myapp_teacher_subjects已创建一个名为table的表,其中包含教师和主题的外键.