def create_instance(self, start_date=None): if not start_date: start_date = timezone.now() provider_alias = str(uuid.uuid4()) identity = Identity.objects.filter(created_by=self.user).last() if not identity: identity = Identity(created_by=self.user, provider=self.provider) identity.save() instance_source = InstanceSource(provider=self.provider, identifier=str(uuid.uuid4()), created_by=self.user, created_by_identity=identity) instance_source.save() instance = Instance(source=instance_source, provider_alias=provider_alias, created_by=self.user, start_date=start_date) instance.save() self.create_instance_status_history(instance, start_date=start_date, status='active') return instance