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

本文介绍了解决多字段指向同一表的问题。通过定义related_name属性,确保了一张表中多个外键字段指向另一张表时,能够正确区分并访问对应的记录。此方法避免了数据库表创建时出现错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当一张表的多个字段指向同一张表时,会出错。系统无法知道,通过另外一张表,访问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/archive/2012/04/09/4145113.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值