From 3edf2ebd9488bd57ceee9985b3ee7729e8a0f002 Mon Sep 17 00:00:00 2001 From: Malcolm Tredinnick Date: Mon, 17 Dec 2007 09:09:08 +0000 Subject: [PATCH] Fixed #6155 -- Fixed dumpdata to work with the default model manager (necessary for the rare cases when the 'objects' manager might not even exist). Based on a patch from Michael Trier. git-svn-id: http://code.djangoproject.com/svn/django/trunk@6932 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/core/management/commands/dumpdata.py | 2 +- docs/django-admin.txt | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/django/core/management/commands/dumpdata.py b/django/core/management/commands/dumpdata.py index fdc8fe9293..090053aaf9 100644 --- a/django/core/management/commands/dumpdata.py +++ b/django/core/management/commands/dumpdata.py @@ -38,7 +38,7 @@ class Command(BaseCommand): objects = [] for app in app_list: for model in get_models(app): - objects.extend(model.objects.all()) + objects.extend(model._default_manager.all()) try: return serializers.serialize(format, objects, indent=indent) except Exception, e: diff --git a/docs/django-admin.txt b/docs/django-admin.txt index 2977f9908f..4697e54dd7 100644 --- a/docs/django-admin.txt +++ b/docs/django-admin.txt @@ -132,6 +132,13 @@ If no application name is provided, all installed applications will be dumped. The output of ``dumpdata`` can be used as input for ``loaddata``. +Note that ``dumpdata`` uses the default manager on the mdoel for selecting the +records to dump. If you're using a `custom manager`_ as the default manager +and it filters some of the available records, not all of the objects will be +dumped. + +.. _custom manager: ../model-api/#custom-managers + --format ~~~~~~~~