def update_template(self, structure_data, **kwargs): result, msg = PipelineTemplate.objects.subprocess_ref_validate(structure_data, self.template_id, self.name) if not result: raise SubprocessRefError(msg) snapshot, _ = Snapshot.objects.create_or_get_snapshot(structure_data) kwargs['snapshot'] = snapshot kwargs['edit_time'] = timezone.now() exclude_keys = ['template_id', 'creator', 'create_time', 'is_deleted'] for key in exclude_keys: kwargs.pop(key, None) for key, value in kwargs.iteritems(): setattr(self, key, value) self.save()
def create_model(self, structure_data, **kwargs): result, msg = self.subprocess_ref_validate(structure_data) if not result: raise SubprocessRefError(msg) snapshot, _ = Snapshot.objects.create_or_get_snapshot(structure_data) kwargs['snapshot'] = snapshot kwargs['template_id'] = node_uniqid() obj = self.create(**kwargs) # version track # TemplateVersion.objects.track(obj) return obj