Fixes scalar lookups for primary_key

fixes hmarr/mongoengine#519
This commit is contained in:
Ross Lawley 2012-06-19 16:59:18 +01:00
parent e6317776c1
commit ea31846a19
3 changed files with 14 additions and 2 deletions

View File

@ -4,6 +4,7 @@ Changelog
Changes in 0.6.X Changes in 0.6.X
================ ================
- Fixes scalar lookups for primary_key
- Fixes error with _delta handling DBRefs - Fixes error with _delta handling DBRefs
Changes in 0.6.11 Changes in 0.6.11

View File

@ -1496,8 +1496,6 @@ class QuerySet(object):
def lookup(obj, name): def lookup(obj, name):
chunks = name.split('__') chunks = name.split('__')
for chunk in chunks: for chunk in chunks:
if hasattr(obj, '_db_field_map'):
chunk = obj._db_field_map.get(chunk, chunk)
obj = getattr(obj, chunk) obj = getattr(obj, chunk)
return obj return obj

View File

@ -3006,6 +3006,19 @@ class QuerySetTest(unittest.TestCase):
self.assertEqual(plist[1], (20, False)) self.assertEqual(plist[1], (20, False))
self.assertEqual(plist[2], (30, True)) self.assertEqual(plist[2], (30, True))
def test_scalar_primary_key(self):
class SettingValue(Document):
key = StringField(primary_key=True)
value = StringField()
SettingValue.drop_collection()
s = SettingValue(key="test", value="test value")
s.save()
val = SettingValue.objects.scalar('key', 'value')
self.assertEqual(list(val), [('test', 'test value')])
def test_scalar_cursor_behaviour(self): def test_scalar_cursor_behaviour(self):
"""Ensure that a query returns a valid set of results. """Ensure that a query returns a valid set of results.
""" """