mirror of
https://github.com/django/django.git
synced 2025-08-03 18:38:50 +00:00
Fixed #20462 - Fixed sqlite regex lookups for null values and non-string fields.
This commit is contained in:
parent
536703abf0
commit
64041f0e6e
4 changed files with 27 additions and 2 deletions
|
@ -6,7 +6,7 @@ from operator import attrgetter
|
|||
from django.core.exceptions import FieldError
|
||||
from django.test import TestCase, skipUnlessDBFeature
|
||||
|
||||
from .models import Author, Article, Tag, Game, Season, Player
|
||||
from .models import Author, Article, Tag, Game, Season, Player, RegexTestModel
|
||||
|
||||
|
||||
class LookupTests(TestCase):
|
||||
|
@ -610,6 +610,21 @@ class LookupTests(TestCase):
|
|||
self.assertQuerysetEqual(Article.objects.filter(headline__regex=r'b(.).*b\1'),
|
||||
['<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):
|
||||
"""
|
||||
Ensure that a lookup query containing non-fields raises the proper
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue