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
This commit is contained in:
parent
64be8f29d5
commit
d3bd3203f9
|
@ -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,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"}}]
|
||||
|
||||
"""}
|
||||
|
|
Loading…
Reference in New Issue