【发布时间】:2020-03-06 14:10:12
【问题描述】:
假设我有这两个模型:
class Shipment(models.Model):
id = models.BigIntegerField(primary_key=True)
order_id = models.ForeignKey('orders.Order', null=True, blank=True, on_delete=models.SET_NULL)
class Order(models.Model):
id = models.BigIntegerField(primary_key=True)
ean = models.BigIntegerField(null=True, blank=True)
订单已在数据库中填充,现在我只想将发货链接到相关订单。但我有一个硬编码 JSON 列表来填充我的发货模型。
{
"shipmentId": 541757635,
"orderId": 23598235,
}
因此,该 JSON 中的 orderId 表示数据库中已经存在的 Order 模型的主键。我如何循环这个以根据 order_id 将发货模型与正确的订单模型连接起来?
可能是这样的循环:
for shipment in shipments:
shipment = Shipment.objects.create(id=shipment.shipmentId, order_id=shipment.orderId
但这可能是因为没有实例,只有 JSON 中的硬编码值吗?
更新: 所以当我尝试使用这个循环时,我得到了这个错误:
self.field.remote_field.model._meta.object_name,
ValueError: Cannot assign "2647598550": "Shipment.order_id" must be a "Order" instance.
【问题讨论】:
标签: django django-models