Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Adapted fixture read mode to file type

Binary mode added in ed532a6 is not supported by ZipFile.
Refs #22399.
  • Loading branch information...
commit 275811a93c1e5bc6505605967cf2da01f1c038fe 1 parent 6b2ce38
@claudep claudep authored
Showing with 7 additions and 7 deletions.
  1. +7 −7 django/core/management/commands/loaddata.py
View
14 django/core/management/commands/loaddata.py
@@ -76,13 +76,14 @@ def loaddata(self, fixture_labels):
self.models = set()
self.serialization_formats = serializers.get_public_serializer_formats()
+ # Forcing binary mode may be revisited after dropping Python 2 support (see #22399)
self.compression_formats = {
- None: open,
- 'gz': gzip.GzipFile,
- 'zip': SingleZipReader
+ None: (open, 'rb'),
+ 'gz': (gzip.GzipFile, 'rb'),
+ 'zip': (SingleZipReader, 'r'),
}
if has_bz2:
- self.compression_formats['bz2'] = bz2.BZ2File
+ self.compression_formats['bz2'] = (bz2.BZ2File, 'r')
with connection.constraint_checks_disabled():
for fixture_label in fixture_labels:
@@ -124,9 +125,8 @@ def load_label(self, fixture_label):
"""
for fixture_file, fixture_dir, fixture_name in self.find_fixtures(fixture_label):
_, ser_fmt, cmp_fmt = self.parse_name(os.path.basename(fixture_file))
- open_method = self.compression_formats[cmp_fmt]
- # Forcing binary mode may be revisited after dropping Python 2 support (see #22399)
- fixture = open_method(fixture_file, 'rb')
+ open_method, mode = self.compression_formats[cmp_fmt]
+ fixture = open_method(fixture_file, mode)
try:
self.fixture_count += 1
objects_in_fixture = 0
Please sign in to comment.
Something went wrong with that request. Please try again.