From 5cc8180a651b11f00a0a05296f8db15db1e48cdc Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Mon, 27 Oct 2014 07:03:05 -0400 Subject: [1.7.x] Fixed #23699 -- Prevented flush from loading initial data for apps with migrations. Backport of dd1ea70779 from master. --- django/core/management/commands/flush.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'django') diff --git a/django/core/management/commands/flush.py b/django/core/management/commands/flush.py index 637d6d525b..bad80c2e0b 100644 --- a/django/core/management/commands/flush.py +++ b/django/core/management/commands/flush.py @@ -84,9 +84,13 @@ Are you sure you want to do this? # Reinstall the initial_data fixture. if options.get('load_initial_data'): - # Reinstall the initial_data fixture. - call_command('loaddata', 'initial_data', **options) - + # Reinstall the initial_data fixture for apps without migrations. + from django.db.migrations.executor import MigrationExecutor + executor = MigrationExecutor(connection) + app_options = options.copy() + for app_label in executor.loader.unmigrated_apps: + app_options['app_label'] = app_label + call_command('loaddata', 'initial_data', **app_options) else: self.stdout.write("Flush cancelled.\n") -- cgit v1.3