django中两张表之间有多个ForeignKey的问题

当一张表的多个字段指向同一张表时,会出错。系统无法知道,通过另外一张表,访问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!新建数据库表时就不会报错了。
原文地址:https://www.cnblogs.com/chenjianhong/p/4145113.html