Index: django-gis-7543/django/db/models/query.py
===================================================================
--- django-gis-7543.orig/django/db/models/query.py	2008-05-29 19:00:19.000000000 -0500
+++ django-gis-7543/django/db/models/query.py	2008-05-29 19:01:50.000000000 -0500
@@ -598,7 +598,7 @@
         self.query.select = []
         self.query.add_date_select(self._field.column, self._kind, self._order)
         if self._field.null:
-            self.query.add_filter(('%s__isnull' % self._field.name, True))
+            self.query.add_filter(('%s__isnull' % self._field.name, False))
 
     def _clone(self, klass=None, setup=False, **kwargs):
         c = super(DateQuerySet, self)._clone(klass, False, **kwargs)
Index: django-gis-7543/tests/regressiontests/queries/models.py
===================================================================
--- django-gis-7543.orig/tests/regressiontests/queries/models.py	2008-05-29 19:00:15.000000000 -0500
+++ django-gis-7543/tests/regressiontests/queries/models.py	2008-05-29 19:01:36.000000000 -0500
@@ -45,6 +45,7 @@
 class Item(models.Model):
     name = models.CharField(max_length=10)
     created = models.DateTimeField()
+    modified = models.DateTimeField(blank=True, null=True)
     tags = models.ManyToManyField(Tag, blank=True, null=True)
     creator = models.ForeignKey(Author)
     note = models.ForeignKey(Note)
@@ -174,7 +175,7 @@
 >>> time2 = datetime.datetime(2007, 12, 19, 21, 0, 0)
 >>> time3 = datetime.datetime(2007, 12, 20, 22, 25, 0)
 >>> time4 = datetime.datetime(2007, 12, 20, 21, 0, 0)
->>> i1 = Item(name='one', created=time1, creator=a1, note=n3)
+>>> i1 = Item(name='one', created=time1, modified=time1, creator=a1, note=n3)
 >>> i1.save()
 >>> i1.tags = [t1, t2]
 >>> i2 = Item(name='two', created=time2, creator=a2, note=n2)
@@ -620,6 +621,10 @@
 >>> Item.objects.dates('created', 'day').extra(select={'a': 1})
 [datetime.datetime(2007, 12, 19, 0, 0), datetime.datetime(2007, 12, 20, 0, 0)]
 
+Bug #7155 -- nullable dates
+>>> Item.objects.dates('modified', 'day')
+[datetime.datetime(2007, 12, 19, 0, 0)]
+
 Test that parallel iterators work.
 
 >>> qs = Tag.objects.all()
