[1.8.x] Fixed #26557 -- Converted empty strings to None when saving GenericIPAddressField.
Backport of 4681d65048
from master
This commit is contained in:
parent
7934695a0f
commit
052e1f17ca
|
@ -481,7 +481,7 @@ class BaseDatabaseOperations(object):
|
|||
Transforms a string representation of an IP address into the expected
|
||||
type for the backend driver.
|
||||
"""
|
||||
return value
|
||||
return value or None
|
||||
|
||||
def year_lookup_bounds_for_date_field(self, value):
|
||||
"""
|
||||
|
|
|
@ -11,3 +11,6 @@ Bugfixes
|
|||
|
||||
* Fixed ``TimeField`` microseconds round-tripping on MySQL and SQLite
|
||||
(:ticket:`26498`).
|
||||
|
||||
* Restored conversion of an empty string to null when saving values of
|
||||
``GenericIPAddressField`` on SQLite and MySQL (:ticket:`26557`).
|
||||
|
|
|
@ -722,6 +722,14 @@ class GenericIPAddressFieldTests(test.TestCase):
|
|||
o = GenericIPAddress.objects.get()
|
||||
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):
|
||||
instance = GenericIPAddress.objects.create(ip='::1')
|
||||
loaded = GenericIPAddress.objects.get()
|
||||
|
|
Loading…
Reference in New Issue