1
0
mirror of https://github.com/django/django.git synced 2025-01-08 17:37:20 +00:00

Revert "Fixed #20462 - Fixed sqlite regex lookups for null values and non-string fields."

This reverts commit 64041f0e6e.

lookup.tests.LookupTests.test_regex_non_string fails under Postgres.
We should also try to rewrite the test using an existing model.
This commit is contained in:
Tim Graham 2013-06-11 17:54:56 -04:00
parent 78974ed525
commit 92c49d6f01
4 changed files with 2 additions and 27 deletions

View File

@ -270,7 +270,6 @@ answer newbie questions, and generally made Django that much better:
Brian Harring <ferringb@gmail.com> Brian Harring <ferringb@gmail.com>
Brant Harris Brant Harris
Ronny Haryanto <http://ronny.haryan.to/> Ronny Haryanto <http://ronny.haryan.to/>
Axel Haustant <noirbizarre@gmail.com>
Hawkeye Hawkeye
Kent Hauser <kent@khauser.net> Kent Hauser <kent@khauser.net>
Joe Heck <http://www.rhonabwy.com/wp/> Joe Heck <http://www.rhonabwy.com/wp/>

View File

@ -519,4 +519,4 @@ def _sqlite_format_dtdelta(dt, conn, days, secs, usecs):
return str(dt) return str(dt)
def _sqlite_regexp(re_pattern, re_string): def _sqlite_regexp(re_pattern, re_string):
return bool(re.search(re_pattern, str(re_string))) if re_string is not None else False return bool(re.search(re_pattern, re_string))

View File

@ -57,12 +57,3 @@ class Player(models.Model):
def __str__(self): def __str__(self):
return self.name return self.name
@python_2_unicode_compatible
class RegexTestModel(models.Model):
name = models.CharField(max_length=100, null=True)
integer = models.IntegerField(null=True)
def __str__(self):
return self.name

View File

@ -6,7 +6,7 @@ from operator import attrgetter
from django.core.exceptions import FieldError from django.core.exceptions import FieldError
from django.test import TestCase, skipUnlessDBFeature from django.test import TestCase, skipUnlessDBFeature
from .models import Author, Article, Tag, Game, Season, Player, RegexTestModel from .models import Author, Article, Tag, Game, Season, Player
class LookupTests(TestCase): class LookupTests(TestCase):
@ -610,21 +610,6 @@ class LookupTests(TestCase):
self.assertQuerysetEqual(Article.objects.filter(headline__regex=r'b(.).*b\1'), self.assertQuerysetEqual(Article.objects.filter(headline__regex=r'b(.).*b\1'),
['<Article: barfoobaz>', '<Article: bazbaRFOO>', '<Article: foobarbaz>']) ['<Article: barfoobaz>', '<Article: bazbaRFOO>', '<Article: foobarbaz>'])
def test_regex_null(self):
"""
Ensure that a regex lookup does not fail on null/None values
"""
RegexTestModel.objects.create(name=None)
self.assertQuerysetEqual(RegexTestModel.objects.filter(name__regex=r'^$'), [])
def test_regex_non_string(self):
"""
Ensure that a regex lookup does not fail on non-string fields
"""
RegexTestModel.objects.create(name='test', integer=5)
self.assertQuerysetEqual(RegexTestModel.objects.filter(integer__regex=r'^5$'),
['<RegexTestModel: test>'])
def test_nonfield_lookups(self): def test_nonfield_lookups(self):
""" """
Ensure that a lookup query containing non-fields raises the proper Ensure that a lookup query containing non-fields raises the proper