def handle(self, request):
cladeChanged = False
idCladeMap = {c.id: c for c in Clade.objects.all()}
for entry in self.elements:
data = entry.data
try:
clade = idCladeMap[data['idField']]
if clade.isChanged(**data):
problem = clade.setDelta(request, **data)
if problem is None:
with transaction.atomic():
clade.save()
cladeChanged = True
else:
messages.error(
request, clade.deltaReport(**problem))
except Exception:
logging.exception('Problem saving clade '
'in view_clades.')
messages.error(request,
'Problem saving clade data: %s' % data)
return cladeChanged
评论列表
文章目录