You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django模型属性/方法内访问自引用ForeignKey字段异常问题咨询

问题原因

你在定义sponsored_by字段的代码行末尾多写了一个多余的英文逗号,这导致Python将该字段解析为包含ForeignKey对象的元组,而非Django可识别的模型字段,因此你访问实例的sponsored_by属性时拿到的是字段类对象组成的元组,而非关联的Account实例。

修复方法

把sponsored_by字段定义行末尾的逗号删除即可,修改后的代码如下:

sponsored_by = models.ForeignKey('self',blank=True,null=True, on_delete=models.SET_NULL, default=None,limit_choices_to={'is_sponsor': True})

修改完成后执行makemigrations和migrate命令同步数据库结构,之后就能正常访问sponsored_by关联字段了。

内容的提问来源于stack exchange,提问作者snag9677

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 04:57:00