Ticket #14025: flush-multi-db.diff

File flush-multi-db.diff, 1.3 KB (added by linovia, 14 years ago)

Patch for Flush command to support multi database more correctly

  • django/core/management/commands/flush.py

     
    11from optparse import make_option
    22
    33from django.conf import settings
    4 from django.db import connections, transaction, models, DEFAULT_DB_ALIAS
     4from django.db import connections, router, transaction, models, DEFAULT_DB_ALIAS
    55from django.core.management import call_command
    66from django.core.management.base import NoArgsCommand, CommandError
    77from django.core.management.color import no_style
     
    6666            # Emit the post sync signal. This allows individual
    6767            # applications to respond as if the database had been
    6868            # 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            emit_post_sync_signal(all_models, verbosity, interactive, db)
    7076
    7177            # Reinstall the initial_data fixture.
    7278            kwargs = options.copy()
Back to Top