2011/3/11 Edgar Ulises Aviles Mejia <[email protected]>:
> hola a todos tengo un formulario con z3c.form y quiero que los datos de ese
> formulario se escriban a la base de datos
> de zope, he buscado por muchas partes y todos me dan la misma solucion, asi
> que el codigo
> de conexion que tengo es este:
>
> def db(name):
>     storage = FileStorage('var/filestorage/Data.fs')
>     db = DB(storage)
>     connection=db.open()
>     root = connection.root()
>
>     if not root.has_key(name):
>         root['nombres']={}
>         nombres = root['nombres']
>         nombres[name]=persistencia(name)
>     root[name] = nombres
>     transaction.commit()
>     print 'Nombres agregado: %s' % name
>
> aca solo estoy intentando escribir el dato obtenido por el campo name del
> form, me manda el siguiente error:
>
> Module ZPublisher.Publish, line 127, in publish
> Module ZPublisher.mapply, line 77, in mapply
> Module ZPublisher.Publish, line 47, in call_object
> Module plone.z3cform.layout, line 64, in __call__
> Module plone.z3cform.layout, line 54, in update
> Module z3c.form.form, line 210, in update
> Module z3c.form.action, line 99, in execute
> Module z3c.form.button, line 311, in __call__
> Module z3c.form.button, line 170, in __call__
> Module deu.contentypes.browser.formActualiza, line 78, in handleApply
> Module deu.contentypes.browser.formActualiza, line 20, in db
> Module ZODB.FileStorage.FileStorage, line 125, in __init__
> Module zc.lockfile, line 76, in __init__
> Module zc.lockfile, line 59, in _lock_file
>
> LockError: Couldn't lock 'var/filestorage/Data.fs.lock'
>
> estoy usando plone 4.0.2 y estoy tratando de evitar usar arquetipo.
>

Lo que yo no entiendo es para qué estás intentando conectar a la base
de datos si estás utilizando Plone... Supongo que ejecutaras ese
método de creación de objetos desde una vista o desde un handler del
formulario, por lo que podrías hacer lo que tengas que hacer con los
objetos que creas en el contexto (self.context).


Mikel


-- 
Mikel Larreategi
[email protected]

CodeSyntax
Azitaingo Industrialdea 3 K
E-20600 Eibar
Tel: (+34) 943 82 17 80
_______________________________________________
Plone-ConoSur mailing list
[email protected]
https://lists.plone.org/mailman/listinfo/plone-conosur

Responder a