Added test for PYTHON-785

This commit is contained in:
bjmb
2017-07-05 12:41:58 -04:00
parent 366880d9d7
commit 49736eb057
2 changed files with 10 additions and 1 deletions

View File

@@ -719,7 +719,7 @@ class AbstractQuerySet(object):
else: else:
query_val = column.to_database(val) query_val = column.to_database(val)
if not col_op: # only equal values should be deferred if not col_op: # only equal values should be deferred
clone._defer_fields.add(col_name) clone._defer_fields.add(column.db_field_name)
clone._deferred_values[column.db_field_name] = val # map by db field name for substitution in results clone._deferred_values[column.db_field_name] = val # map by db field name for substitution in results
clone._where.append(WhereClause(column.db_field_name, operator, query_val, quote_field=quote_field)) clone._where.append(WhereClause(column.db_field_name, operator, query_val, quote_field=quote_field))

View File

@@ -1281,6 +1281,15 @@ class TestModelQueryWithDBField(BaseCassEngTestCase):
for value in values: for value in values:
self.assertTrue(value not in str(b2.queries[0])) self.assertTrue(value not in str(b2.queries[0]))
def test_db_field_value_list(self):
DBFieldModel.create(k0=0, k1=0, c0=0, v0=4, v1=5)
self.assertEqual(DBFieldModel.objects.filter(c0=0, k0=0, k1=0).values_list('c0', 'v0')._defer_fields,
{'a', 'c', 'b'})
self.assertEqual(DBFieldModel.objects.filter(c0=0, k0=0, k1=0).values_list('c0', 'v0')._only_fields,
['c', 'd'])
list(DBFieldModel.objects.filter(c0=0, k0=0, k1=0).values_list('c0', 'v0'))
class TestModelSmall(Model): class TestModelSmall(Model):