问题描述
|
我希望能够将两个记录同时保存在两个数据库表中,其中一个表与另一个表具有外键关系。
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