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

时间:2012-01-31 13:17:34

标签: python django django-models

这是我的教师班级模型。

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字段??

1 个答案:

答案 0 :(得分:5)

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