diff --git a/awx/main/management/commands/create_preload_data.py b/awx/main/management/commands/create_preload_data.py index c487db83a5..b7443401fd 100644 --- a/awx/main/management/commands/create_preload_data.py +++ b/awx/main/management/commands/create_preload_data.py @@ -23,12 +23,13 @@ class Command(BaseCommand): superuser = None with impersonate(superuser): o = Organization.objects.create(name='Default') - p = Project.objects.create(name='Demo Project', - scm_type='git', - scm_url='https://github.com/ansible/ansible-tower-samples', - scm_update_on_launch=True, - scm_update_cache_timeout=0, - organization=o) + p = Project(name='Demo Project', + scm_type='git', + scm_url='https://github.com/ansible/ansible-tower-samples', + scm_update_on_launch=True, + scm_update_cache_timeout=0, + organization=o) + p.save(skip_update=True) c = Credential.objects.create(name='Demo Credential', username=superuser.username, created_by=superuser) diff --git a/awx/main/models/projects.py b/awx/main/models/projects.py index 0e74feb1bc..457bed302b 100644 --- a/awx/main/models/projects.py +++ b/awx/main/models/projects.py @@ -256,6 +256,7 @@ class Project(UnifiedJobTemplate, ProjectOptions, ResourceMixin): # If update_fields has been specified, add our field names to it, # if it hasn't been specified, then we're just doing a normal save. update_fields = kwargs.get('update_fields', []) + skip_update = bool(kwargs.pop('skip_update', False)) # Check if scm_type or scm_url changes. if self.pk: project_before = self.__class__.objects.get(pk=self.pk) @@ -279,7 +280,7 @@ class Project(UnifiedJobTemplate, ProjectOptions, ResourceMixin): if update_fields: self.save(update_fields=update_fields) # If we just created a new project with SCM, start the initial update. - if new_instance and self.scm_type: + if new_instance and self.scm_type and not skip_update: self.update() def _get_current_status(self):