刚到Django orm,我需要指导:
我想在一个表中插入5条记录,用PK'table1Primary'表示'Table1'
然后将相同数量的记录插入另一个表“Table2”,表1 PK“table1Primary”作为外键
你知道吗示例:Table1 primary钥匙
表2外键
[我宁愿使用bulk\u create或任何其他优化方式,而不是编写单独的insert语句]
代码不起作用,我假设是因为这一行
eft\u fulfillment\u uid=ef,我以每秒5*5次插入结束
for i in range(5):
ef = Fulfillment.objects.create(
fullfillment_uid=generateid(),
...
...
)
ef.save()
for i in range(5):
por = OutReq.objects.create(
out_req_uid=random.randint(500, 1000000000),
fulfillment_uid=ef,
...
...
)
por.save()
如果要为每个
Fulfillment
对象保存一个新的OutReq
对象,请在同一循环中进行。否则,您将只使用ef
设置为的最后一个值。你知道吗而且,Django使用
id
作为默认主键。你应该有一个很好的理由来改变这一点。所以,最好这样做然后
Fulfillment
将自动获得一个名为id
(别名为pk
)的新主键,您可以在第二个对象中将其用作引用。你知道吗此外,您可以在模型定义中声明
OutReq.fullfilment
是Fullfillment
的外键,然后简单地分配对象,如下所示Django将自动创建一个字段
OutReq.fullfilment_id
,并将主键存储到Fulfillment
实例中。然后你可以像por.fulfillment.id
这样访问它Dango Models如果你正确地使用它们,事情会变得容易得多。你知道吗
我假设每个实现有5个请求。你知道吗
相关问题 更多 >
编程相关推荐