Django

Code

Changeset 7739

Show
Ignore:
Timestamp:
06/25/08 08:38:06 (2 months ago)
Author:
russellm
Message:

Fixed #7155 -- Corrected DateQuerySet? to handle nullable fields. Thanks to fcaprioli@alice.it for the original report and patch, and to Jeremy Dunck for the test case.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/db/models/query.py

    r7722 r7739  
    691691        self.query.add_date_select(self._field.column, self._kind, self._order) 
    692692        if self._field.null: 
    693             self.query.add_filter(('%s__isnull' % self._field.name, True)) 
     693            self.query.add_filter(('%s__isnull' % self._field.name, False)) 
    694694 
    695695    def _clone(self, klass=None, setup=False, **kwargs): 
  • django/trunk/tests/regressiontests/queries/models.py

    r7636 r7739  
    4646    name = models.CharField(max_length=10) 
    4747    created = models.DateTimeField() 
     48    modified = models.DateTimeField(blank=True, null=True) 
    4849    tags = models.ManyToManyField(Tag, blank=True, null=True) 
    4950    creator = models.ForeignKey(Author) 
     
    175176>>> time3 = datetime.datetime(2007, 12, 20, 22, 25, 0) 
    176177>>> time4 = datetime.datetime(2007, 12, 20, 21, 0, 0) 
    177 >>> i1 = Item(name='one', created=time1, creator=a1, note=n3) 
     178>>> i1 = Item(name='one', created=time1, modified=time1, creator=a1, note=n3) 
    178179>>> i1.save() 
    179180>>> i1.tags = [t1, t2] 
     
    627628>>> Item.objects.dates('created', 'day').extra(select={'a': 1}) 
    628629[datetime.datetime(2007, 12, 19, 0, 0), datetime.datetime(2007, 12, 20, 0, 0)] 
     630 
     631Bug #7155 -- nullable dates 
     632>>> Item.objects.dates('modified', 'day') 
     633[datetime.datetime(2007, 12, 19, 0, 0)] 
    629634 
    630635Test that parallel iterators work.