File empty-ip-2.diff of Package python-django

Empty ipaddress raises an error (invalid input syntax for type inet: "")

http://code.djangoproject.com/ticket/5622
Index: Django-1.2.1/django/db/models/fields/__init__.py
===================================================================
--- Django-1.2.1.orig/django/db/models/fields/__init__.py
+++ Django-1.2.1/django/db/models/fields/__init__.py
@@ -898,6 +898,11 @@ class IPAddressField(Field):
         kwargs['max_length'] = 15
         Field.__init__(self, *args, **kwargs)
 
+    def get_db_prep_value(self, value, connection, prepared=False):
+        if not prepared:
+            value = self.get_prep_value(value)
+        return value or None
+
     def get_internal_type(self):
         return "IPAddressField"
 
Index: Django-1.2.1/tests/regressiontests/model_fields/models.py
===================================================================
--- Django-1.2.1.orig/tests/regressiontests/model_fields/models.py
+++ Django-1.2.1/tests/regressiontests/model_fields/models.py
@@ -66,6 +66,9 @@ class BooleanModel(models.Model):
     bfield = models.BooleanField()
     string = models.CharField(max_length=10, default='abc')
 
+class IP(models.Model):
+    ip = models.IPAddressField(blank=True, null=True)
+
 ###############################################################################
 # ImageField
 
Index: Django-1.2.1/tests/regressiontests/model_fields/tests.py
===================================================================
--- Django-1.2.1.orig/tests/regressiontests/model_fields/tests.py
+++ Django-1.2.1/tests/regressiontests/model_fields/tests.py
@@ -7,7 +7,7 @@ from django import forms
 from django.db import models
 from django.core.exceptions import ValidationError
 
-from models import Foo, Bar, Whiz, BigD, BigS, Image, BigInt, Post, NullBooleanModel, BooleanModel
+from models import Foo, Bar, Whiz, BigD, BigS, Image, BigInt, Post, NullBooleanModel, BooleanModel, IP
 
 # If PIL available, do these tests.
 if Image:
@@ -214,6 +214,14 @@ class SlugFieldTests(django.test.TestCas
         bs = BigS.objects.get(pk=bs.pk)
         self.assertEqual(bs.s, 'slug'*50)
 
+class IPFieldTests(django.test.TestCase):
+    def test_ip_empty(self):
+        """
+        Check it's possible to use empty values in IP field (#5622).
+        """
+        ip = IP.objects.create(ip="")
+        ip = IP.objects.get(pk=ip.pk)
+        self.assertEqual(ip.ip, None)
 
 class ValidationTest(django.test.TestCase):
     def test_charfield_raises_error_on_empty_string(self):
openSUSE Build Service is sponsored by