浏览代码

Fixed #22399 -- Forced fixture reading in binary mode

This might help on systems where default encoding is not UTF-8 (and
on Python 3).
Thanks bacilla for the report.
Claude Paroz 11 年之前
父节点
当前提交
ed532a6a1e
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      django/core/management/commands/loaddata.py

+ 2 - 1
django/core/management/commands/loaddata.py

@@ -125,7 +125,8 @@ class Command(BaseCommand):
         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]
-            fixture = open_method(fixture_file, 'r')
+            # Forcing binary mode may be revisited after dropping Python 2 support (see #22399)
+            fixture = open_method(fixture_file, 'rb')
             try:
                 self.fixture_count += 1
                 objects_in_fixture = 0