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
相关产品推荐
相关产品推荐

