23 lines
792 B
Python
23 lines
792 B
Python
from django.db import connection, models
|
|
from django.test import SimpleTestCase
|
|
|
|
|
|
class CustomFieldTests(SimpleTestCase):
|
|
|
|
def test_get_prep_value_count(self):
|
|
"""
|
|
Field values are not prepared twice in get_db_prep_lookup() (#14786).
|
|
"""
|
|
class NoopField(models.TextField):
|
|
def __init__(self, *args, **kwargs):
|
|
self.prep_value_count = 0
|
|
super(NoopField, self).__init__(*args, **kwargs)
|
|
|
|
def get_prep_value(self, value):
|
|
self.prep_value_count += 1
|
|
return super(NoopField, self).get_prep_value(value)
|
|
|
|
field = NoopField()
|
|
field.get_db_prep_lookup('exact', 'TEST', connection=connection, prepared=False)
|
|
self.assertEqual(field.prep_value_count, 1)
|