提交 dbaa4ab5 编写于 作者: baltery's avatar baltery

[Update] 修改资产导入的事务问题

上级 ac1e319c
...@@ -9,6 +9,7 @@ import chardet ...@@ -9,6 +9,7 @@ import chardet
from io import StringIO from io import StringIO
from django.conf import settings from django.conf import settings
from django.db import transaction
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from django.views.generic import TemplateView, ListView, View from django.views.generic import TemplateView, ListView, View
from django.views.generic.edit import CreateView, DeleteView, FormView, UpdateView from django.views.generic.edit import CreateView, DeleteView, FormView, UpdateView
...@@ -294,9 +295,10 @@ class BulkImportAssetView(AdminUserRequiredMixin, JSONResponseMixin, FormView): ...@@ -294,9 +295,10 @@ class BulkImportAssetView(AdminUserRequiredMixin, JSONResponseMixin, FormView):
try: try:
if len(Asset.objects.filter(hostname=asset_dict.get('hostname'))): if len(Asset.objects.filter(hostname=asset_dict.get('hostname'))):
raise Exception(_('already exists')) raise Exception(_('already exists'))
asset = Asset.objects.create(**asset_dict) with transaction.atomic():
created.append(asset_dict['hostname']) asset = Asset.objects.create(**asset_dict)
assets.append(asset) created.append(asset_dict['hostname'])
assets.append(asset)
except Exception as e: except Exception as e:
failed.append('%s: %s' % (asset_dict['hostname'], str(e))) failed.append('%s: %s' % (asset_dict['hostname'], str(e)))
else: else:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册