diff options
Diffstat (limited to 'src/olpc/datastore/xapianindex.py')
-rw-r--r-- | src/olpc/datastore/xapianindex.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/olpc/datastore/xapianindex.py b/src/olpc/datastore/xapianindex.py index 06041aa..dfef53c 100644 --- a/src/olpc/datastore/xapianindex.py +++ b/src/olpc/datastore/xapianindex.py @@ -104,6 +104,12 @@ class IndexManager(object): datamodel = kwargs.get('model', model.defaultModel) datamodel.apply(self) + # configure the model according to the database + for field_name in self.write_index._field_actions: + if field_name not in datamodel.fields: + datamodel.addField(field_name, 'string') + self.fields.add(field_name) + # store a reference self.datamodel = datamodel @@ -308,6 +314,7 @@ class IndexManager(object): d = {} add_anything = False for k,v in props.iteritems(): + k = str(k) p, added = self.datamodel.fromstring(k, v, allowAddition=True) if added is True: |