Django 死锁
mysql死锁问题参考链接: https://www.iteye.com/blog/uule-2422193
情况一
在创建完一条数据后,对此条数据的多对多键和外键进行设置时产生
如下:
tree_qs = Tree.objects.filter(id__in=list_tree_ids)
for name in list_name:
asset = Asset.objects.create(
name=name
)
asset.tree = tree_qs # Deadlock found where trying to get lock, try restarting tracsaction
asset.save()
其中,asset
是新创建的资源,有一个多对多键名为tree
,在asset创建完成的时候,进行设置。
先看下多对多键在数据库中的表:
+----------------------+
| Tables_in_TestDjango |
+----------------------+
| jasset_asset |
| jasset_asset_tree |
| jtree_tree |
+----------------------+
发现,除了已知的jasset_asset
,jtree_tree