commit fe8c4cdc1a5020ae464d2a83c6a2de629c0a2e59
Author: David Cramer <david@disqus.com>
Date: Tue Jan 18 15:40:18 2011 -0800
Ensure the flush command only passes models which are on the selected database
diff --git a/django_root/django/core/management/commands/flush.py b/django_root/django/core/management/commands/flush.py
index 6836fe3..f15e202 100644
a
|
b
|
|
1 | 1 | from optparse import make_option |
2 | 2 | |
3 | 3 | from django.conf import settings |
4 | | from django.db import connections, transaction, models, DEFAULT_DB_ALIAS |
| 4 | from django.db import connections, router, transaction, models, DEFAULT_DB_ALIAS |
5 | 5 | from django.core.management import call_command |
6 | 6 | from django.core.management.base import NoArgsCommand, CommandError |
7 | 7 | from django.core.management.color import no_style |
… |
… |
The full error: %s""" % (connection.settings_dict['NAME'], e))
|
66 | 66 | # Emit the post sync signal. This allows individual |
67 | 67 | # applications to respond as if the database had been |
68 | 68 | # sync'd from scratch. |
69 | | emit_post_sync_signal(models.get_models(), verbosity, interactive, db) |
| 69 | all_models = [ |
| 70 | (app.__name__.split('.')[-2], |
| 71 | [m for m in models.get_models(app, include_auto_created=True) |
| 72 | if router.allow_syncdb(db, m)]) |
| 73 | for app in models.get_apps() |
| 74 | ] |
| 75 | |
| 76 | emit_post_sync_signal(all_models, verbosity, interactive, db) |
70 | 77 | |
71 | 78 | # Reinstall the initial_data fixture. |
72 | 79 | kwargs = options.copy() |