Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Fixed #4431 -- Added a --traceback option for dumpdata and loaddata (…

…which

shows how it can be used for other commands as well). Thanks, dakrauth.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@6936 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit fbf49dfceed2958da3d6edcbe6119284bf95894e 1 parent 9229c34
@malcolmt malcolmt authored
View
2  django/core/management/base.py
@@ -27,6 +27,8 @@ class BaseCommand(object):
help='The Python path to a settings module, e.g. "myproject.settings.main". If this isn\'t provided, the DJANGO_SETTINGS_MODULE environment variable will be used.'),
make_option('--pythonpath',
help='A directory to add to the Python path, e.g. "/home/djangoprojects/myproject".'),
+ make_option('--traceback', action='store_true',
+ help='Print traceback on exception'),
)
help = ''
args = ''
View
3  django/core/management/commands/dumpdata.py
@@ -19,6 +19,7 @@ def handle(self, *app_labels, **options):
format = options.get('format', 'json')
indent = options.get('indent', None)
+ show_traceback = options.get('traceback', False)
if len(app_labels) == 0:
app_list = get_apps()
@@ -42,4 +43,6 @@ def handle(self, *app_labels, **options):
try:
return serializers.serialize(format, objects, indent=indent)
except Exception, e:
+ if show_traceback:
+ raise
raise CommandError("Unable to serialize database: %s" % e)
View
7 django/core/management/commands/loaddata.py
@@ -27,6 +27,7 @@ def handle(self, *fixture_labels, **options):
self.style = no_style()
verbosity = int(options.get('verbosity', 1))
+ show_traceback = options.get('traceback', False)
# Keep a count of the installed objects and fixtures
count = [0, 0]
@@ -98,11 +99,13 @@ def handle(self, *fixture_labels, **options):
label_found = True
except Exception, e:
fixture.close()
+ transaction.rollback()
+ transaction.leave_transaction_management()
+ if show_traceback:
+ raise
sys.stderr.write(
self.style.ERROR("Problem installing fixture '%s': %s\n" %
(full_path, str(e))))
- transaction.rollback()
- transaction.leave_transaction_management()
return
fixture.close()
except:
Please sign in to comment.
Something went wrong with that request. Please try again.