Commit d3bd3203 authored by Russell Keith-Magee's avatar Russell Keith-Magee
Browse files

Fixed #11286 -- Ensured that dumpdata uses the default manager, rather than...

Fixed #11286 -- Ensured that dumpdata uses the default manager, rather than always using the manager called `objects`. Thanks to Marc Remolt for the report.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@10967 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent 64be8f29
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -73,7 +73,7 @@ class Command(BaseCommand):
                model_list = get_models(app)

            for model in model_list:
                objects.extend(model.objects.all())
                objects.extend(model._default_manager.all())

        try:
            return serializers.serialize(format, objects, indent=indent)
+9 −0
Original line number Diff line number Diff line
@@ -9,6 +9,9 @@ class Animal(models.Model):
    count = models.IntegerField()
    weight = models.FloatField()

    # use a non-default name for the default manager
    specimens = models.Manager()

    def __unicode__(self):
        return self.common_name

@@ -161,4 +164,10 @@ Weight = 1.2 (<type 'float'>)

>>> models.signals.pre_save.disconnect(animal_pre_save_check)

###############################################
# Regression for #11286 -- Ensure that dumpdata honors the default manager
# Dump the current contents of the database as a JSON fixture
>>> management.call_command('dumpdata', 'fixtures_regress.animal', format='json')
[{"pk": 1, "model": "fixtures_regress.animal", "fields": {"count": 3, "weight": 1.2, "name": "Lion", "latin_name": "Panthera leo"}}, {"pk": 2, "model": "fixtures_regress.animal", "fields": {"count": 2, "weight": 2.29..., "name": "Platypus", "latin_name": "Ornithorhynchus anatinus"}}, {"pk": 10, "model": "fixtures_regress.animal", "fields": {"count": 42, "weight": 1.2, "name": "Emu", "latin_name": "Dromaius novaehollandiae"}}]

"""}