scwuliao.wl中的wl为scwuliao的外键,dingdan为主表想问一下这是什么错误和
仅根据有限的提示,猜测:
你这个物料表中的外键,
scwuliao.wl
,需要赋值的数据类型必须是,dingdan
(订单?)的一个实例,但你现在却赋值的是'1'
(str类型。)
本文由 大侠(AhcaoZhu)原创,转载请声明。
链接: https://blog.csdn.net/Ahcao2008
补充回答:
wl= models.ForeignKey(to=dingdan,on_delete=models.CASCADE, to_field='...')
确认:
1)dingdan 表设置正确(从截图看,这个变量指向的dingdan至少没报错),并设置正确可作为外键的字段属性。
2)models.ForeignKey需指定表和字段,除非表只有一个字段,且为索引字段。(或者两链接表具有同名的索引字段?没验证过,不确定)
这个是创建表的代码
该回答引用GPTᴼᴾᴱᴺᴬᴵ
这个错误表明您尝试将一个字符串 'I' 赋值给 scwuliao.wl 这个外键,但是Django希望在这里赋值一个 dingdan 的实例,而不是一个字符串。
你需要将字符串 'I' 转换为一个 dingdan 实例,并将其赋值给 scwuliao.wl。具体来说,您需要从数据库中检索一个 dingdan 实例,然后将其作为 scwuliao.wl 的值进行赋值,如下所示:
from your_app.models import scwuliao, dingdan
# 获取dingdan实例
dingdan_instance = dingdan.objects.get(some_field=some_value)
# 创建一个新的scwuliao实例,并将其wl外键设置为dingdan实例
scwuliao_instance = scwuliao.objects.create(wl=dingdan_instance)
# 或者,如果您已经有了scwuliao实例,并且希望将其wl外键设置为dingdan实例,可以这样做:
scwuliao_instance.wl = dingdan_instance
scwuliao_instance.save()
请注意,上面的代码示例仅供参考,您需要根据自己的代码和模型进行适当修改。