Django-使用外键关系同时保存两个记录

问题描述

| 我希望能够将两个记录同时保存在两个数据库表中,其中一个表与另一个表具有外键关系。 models.py
class Model1(models.Model):
    Modlel1Filed1 = models.CharField()

class Model2 (models.Model):
    Model2Filed1 = models.ForeignKey(Model1)
    Modle2Field2 = models.CharField()
以下是我如何使用Model1保存数据的方法:
p = Model1.objects.create(Model1Filed1=some_data_here)
p.save()
对于Model2,我尝试过:
p = Model1.objects.get(pk=p.pk)
f = Model2.objects.create(Model2Filed1=p.id,Modle2Field2=some_data)
f = save()
但我收到这样的错误:
Cannot assign \"78\": \"Model2.Model2Filed1\" must be a \"Model1\" instance.
有想法吗?     

解决方法

        错误消息非常清楚:
\"Model2.Model2Filed1\" must be a \"Model1\" instance
f = Model2.objects.create(Model2Filed1=p,Modle2Field2=some_data)
Model2Filed1=p.id
改为
Model2Filed1=p
    

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...