[pyar] mongoengine.DictField

Sebastian Bassi sebastian.bassi en globant.com
Jue Nov 22 21:08:05 ART 2012


Me pasa algo que no puedo entender.

Si hago esto, no tengo problemas:

class Publication(mongoengine.Document):
    header = mongoengine.DictField()

def save_data(self, header_):
    o = Publication()
  o.header['n1'] = header_['n1']
  o.header['xyz'] = header_['xyz']
    o.save()

Pero si en cambio hago:

def save_data(self, header_):
    o = Publication()
  for key, value in header_.iteritems():
  o.header[key] = value
    o.save()

cuando se ejecuta tengo este error:


Traceback (most recent call last):
  File "parser.py", line 166, in <module>
    p.save_data(d)
  File "parser.py", line 77, in save_data
    o.save()
  File
"/home/sbassi/Public/projects/catalytic/local/lib/python2.7/site-packages/mongoengine/document.py",
line 213, in save
    doc = self.to_mongo()
  File
"/home/sbassi/Public/projects/catalytic/local/lib/python2.7/site-packages/mongoengine/base.py",
line 1038, in to_mongo
    data[field.db_field] = field.to_mongo(value)
  File
"/home/sbassi/Public/projects/catalytic/local/lib/python2.7/site-packages/mongoengine/base.py",
line 412, in to_mongo
    value_dict[k] = v.to_mongo()
TypeError: 'NoneType' object is not callable


No entiendo porque si "cargo" manualmente los valores no hay problema, pero
si itero con for, a pesar de pasarle los mismos valores, tengo este error.


-- 
Sebastián Bassi. *sebastian.bassi en globant.com*
Lic. en Biotecnología con orientación en genética molecular.
Software Developer @ Globant.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20121122/e059bbfe/attachment.html>


More information about the pyar mailing list