这是我的教师班级模型。
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
字段??
答案 0 :(得分:5)
因为ManyToMany不是字段,所以至少不存在作为数据库列存在的字段。这是与链接表的关系。您会发现已创建一个名为myapp_teacher_subjects
的表,其中包含教师和主题的外键。