--- django/db/models/fields/__init__.py.old 2017-06-14 08:43:21.665812000 -0700 +++ django/db/models/fields/__init__.py 2017-12-17 14:34:03.023976702 -0800 @@ -2340,7 +2340,7 @@ if self.has_default() and not callable(self.default): return self.default default = super(BinaryField, self).get_default() - if default == '': + if isinstance(default, six.text_type) and default == '': return b'' return default --- django/forms/widgets.py.old 2018-02-21 15:17:40.742742712 -0800 +++ django/forms/widgets.py 2018-02-21 15:19:57.182002508 -0800 @@ -195,7 +195,7 @@ """ Return a value as it should appear when rendered in a template. """ - if value == '' or value is None: + if value is None or isinstance(value, six.string_types) and len(value) == 0: return None if self.is_localized: return formats.localize_input(value)