X-Git-Url: https://git.jsancho.org/?p=mojodb.git;a=blobdiff_plain;f=cursor.py;fp=cursor.py;h=202c6c78aabb6429a8b8cd012b616e9f921a6169;hp=73a0c1361ace1aaba045091ce9599f5bbddd742e;hb=2758cc7948327b7a0256a7ba3291024afea02552;hpb=2e5704218e54ea918840f97a70a114f06e894192 diff --git a/cursor.py b/cursor.py index 73a0c13..202c6c7 100644 --- a/cursor.py +++ b/cursor.py @@ -89,14 +89,18 @@ class Cursor(object): query['where'] = [] for k, v in self.spec.iteritems(): table_f = '%s$%s' % (self.collection.table_name, k) - field_q = self._get_cursor_field(table_id, table_f) - query['where'].append((field_q, '=', v)) + if type(v) in (int, float): + field_q = self._get_cursor_field(table_id, table_f, field_name='number') + query['where'].append((field_q, '=', v)) + else: + field_q = self._get_cursor_field(table_id, table_f) + query['where'].append((field_q, '=', cPickle.dumps(v))) return self.collection.database.connection._get_cursor(self.collection.database.db_name, query) - def _get_cursor_field(self, table_id, table_field): + def _get_cursor_field(self, table_id, table_field, field_name='value'): return { - 'select': [(table_field, 'value')], + 'select': [(table_field, field_name)], 'from': [table_field], 'where': [((table_field, 'id'), '=', (table_id, 'id'))], }