diff options
author | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2007-11-19 18:41:35 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2007-11-19 18:41:35 (GMT) |
commit | 597cb100bcaccc37c1614b5cfb013da2c43d541d (patch) | |
tree | 085244515e12b5cae6890afc43daefd4d2f0ca31 /src/olpc/datastore/xapianindex.py | |
parent | 88e426a30ad5087e3d4b1418355676555da40494 (diff) |
#4662 Correctly fix properties not in the model.
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: |