Kaydet (Commit) 4681d650 authored tarafından Joshua Phillips's avatar Joshua Phillips Kaydeden (comit) Tim Graham

Fixed #26557 -- Converted empty strings to None when saving GenericIPAddressField.

üst 2f698cd9
...@@ -499,7 +499,7 @@ class BaseDatabaseOperations(object): ...@@ -499,7 +499,7 @@ class BaseDatabaseOperations(object):
Transforms a string representation of an IP address into the expected Transforms a string representation of an IP address into the expected
type for the backend driver. type for the backend driver.
""" """
return value return value or None
def year_lookup_bounds_for_date_field(self, value): def year_lookup_bounds_for_date_field(self, value):
""" """
......
...@@ -24,3 +24,6 @@ Bugfixes ...@@ -24,3 +24,6 @@ Bugfixes
* Fixed a regression causing the cached template loader to crash when using * Fixed a regression causing the cached template loader to crash when using
template names starting with a dash (:ticket:`26536`). template names starting with a dash (:ticket:`26536`).
* Restored conversion of an empty string to null when saving values of
``GenericIPAddressField`` on SQLite and MySQL (:ticket:`26557`).
...@@ -29,6 +29,14 @@ class GenericIPAddressFieldTests(TestCase): ...@@ -29,6 +29,14 @@ class GenericIPAddressFieldTests(TestCase):
o = GenericIPAddress.objects.get() o = GenericIPAddress.objects.get()
self.assertIsNone(o.ip) self.assertIsNone(o.ip)
def test_blank_string_saved_as_null(self):
o = GenericIPAddress.objects.create(ip='')
o.refresh_from_db()
self.assertIsNone(o.ip)
GenericIPAddress.objects.update(ip='')
o.refresh_from_db()
self.assertIsNone(o.ip)
def test_save_load(self): def test_save_load(self):
instance = GenericIPAddress.objects.create(ip='::1') instance = GenericIPAddress.objects.create(ip='::1')
loaded = GenericIPAddress.objects.get() loaded = GenericIPAddress.objects.get()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment