diff options
| author | Russell Keith-Magee <russell@keith-magee.com> | 2009-07-27 14:32:30 +0000 |
|---|---|---|
| committer | Russell Keith-Magee <russell@keith-magee.com> | 2009-07-27 14:32:30 +0000 |
| commit | 3412860f89a1f72257037c19c06beebc92dd7e06 (patch) | |
| tree | 2f2c7dc89ad7e68c539cf1d360cde8a10275094b /django | |
| parent | e00150af15f35b68d30fc1f7970384d10d1d6ff1 (diff) | |
Fixed #11428 -- Ensured that SQL generating commands and dumpdata don't include proxy models in their output. Thanks to Anssi Kaariainen for the report.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@11343 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django')
| -rw-r--r-- | django/core/management/commands/dumpdata.py | 3 | ||||
| -rw-r--r-- | django/db/backends/creation.py | 10 |
2 files changed, 7 insertions, 6 deletions
diff --git a/django/core/management/commands/dumpdata.py b/django/core/management/commands/dumpdata.py index 9172d938d2..7e05b89160 100644 --- a/django/core/management/commands/dumpdata.py +++ b/django/core/management/commands/dumpdata.py @@ -73,7 +73,8 @@ class Command(BaseCommand): model_list = get_models(app) for model in model_list: - objects.extend(model._default_manager.all()) + if not model._meta.proxy: + objects.extend(model._default_manager.all()) try: return serializers.serialize(format, objects, indent=indent) diff --git a/django/db/backends/creation.py b/django/db/backends/creation.py index 1ac75426c1..43f47048e0 100644 --- a/django/db/backends/creation.py +++ b/django/db/backends/creation.py @@ -40,7 +40,7 @@ class BaseDatabaseCreation(object): from django.db import models opts = model._meta - if not opts.managed: + if not opts.managed or opts.proxy: return [], {} final_output = [] table_output = [] @@ -121,7 +121,7 @@ class BaseDatabaseCreation(object): "Returns any ALTER TABLE statements to add constraints after the fact." from django.db.backends.util import truncate_name - if not model._meta.managed: + if not model._meta.managed or model._meta.proxy: return [] qn = self.connection.ops.quote_name final_output = [] @@ -236,7 +236,7 @@ class BaseDatabaseCreation(object): def sql_indexes_for_model(self, model, style): "Returns the CREATE INDEX SQL statements for a single model" - if not model._meta.managed: + if not model._meta.managed or model._meta.proxy: return [] output = [] for f in model._meta.local_fields: @@ -268,7 +268,7 @@ class BaseDatabaseCreation(object): def sql_destroy_model(self, model, references_to_delete, style): "Return the DROP TABLE and restraint dropping statements for a single model" - if not model._meta.managed: + if not model._meta.managed or model._meta.proxy: return [] # Drop the table now qn = self.connection.ops.quote_name @@ -286,7 +286,7 @@ class BaseDatabaseCreation(object): def sql_remove_table_constraints(self, model, references_to_delete, style): from django.db.backends.util import truncate_name - if not model._meta.managed: + if not model._meta.managed or model._meta.proxy: return [] output = [] qn = self.connection.ops.quote_name |
