当一张表的多个字段指向同一张表时,会出错。系统无法知道,通过另外一张表,访问XXX_set属性访问到的是哪个属性。这时,我们就需要为每个字段定义一个related_name属性,另外一张表访问这个表时,就会根据related_name的值来得到各个属性了。
例子:
class dutyTeam(models.Model): ''' 这里必须定义related_name属性。 ''' first=models.ForeignKey(watch,verbose_name='第一值班人',related_name='first') second=models.ForeignKey(watch,related_name='second',verbose_name='备用值班人') urgent=models.ForeignKey(watch,related_name='urgent',verbose_name='紧急联系人')
一切ok!新建数据库表时就不会报错了。