我有很多依赖项(Group->Link->Match
),如果没有ForeignKey
的id,我就无法创建一个新的one对象。你知道吗
有什么方法可以简化或加速这个操作?
我可以创建一个保存所需依赖项的大对象吗?我试着通过bulk_create
来实现这一点,但id也有同样的问题
groups = template.get('groups')
allMatchObjs = []
if groups:
for group in groups:
groupObj = Group.objects.create(name=group['name'])
links = group.get('links')
if links:
for link in links:
linkObj = Link.objects.create(
group=groupObj,
name=link['name']
matches = link.get('matches')
if matches:
matchObjs = (Match(
name=match['name'],
link=linkObj) for match in matches)
allMatchObjs.extend(matchObjs)
Match.objects.bulk_create(allMatchObjs)
根据每个级别有多少元素,这可能会提供一些加速:
因此,您将在每个级别上使用
bulk_create
,尽管中间级别不是在单个批中使用。你知道吗更新
更好的是:
现在你真的在为每个级别使用一个bulk\u create。你知道吗
相关问题 更多 >
编程相关推荐