Ai-je mal compris quelque chose? Je veux enregistrer une liste de listes, ou un ensemble de listes ....zope.schema Liste - Enregistrer Liste des listes
Je possède ce
fcurricula = schema.List(
title=_(u'Curricula'),
required=False)
J'ai essayé de sauver ceci:
[
[261, u'26-BEA', 138, 4, u'h\xf6ren, listen', 4.00, 0, u'655755sa939b9b10'],
[261, u'26-BEA', 138, 4, u'h\xf6ren, listen', 4.00, 0, u'655755sa939b9b10']
]
Mais j'obtiens l'erreur suivante
Module zope.tales.expressions, line 217, in __call__
Module Products.PageTemplates.Expressions, line 155, in _eval
Module Products.PageTemplates.Expressions, line 117, in render
Module dudal.db.browser.dbimport, line 216, in dudal_fcurricula_import
Module plone.registry.registry, line 47, in __setitem__
Module plone.registry.record, line 83, in _set_value
Module zope.schema._bootstrapfields, line 182, in validate
Module zope.schema._field, line 475, in _validate
Module zope.schema._bootstrapfields, line 309, in _validate
Module zope.schema._bootstrapfields, line 248, in _validate
Module zope.schema._bootstrapfields, line 233, in _validate
Module zope.schema._bootstrapfields, line 209, in _validate
WrongType: ([[261, u'26-BEA', 138, 4, u'h\xf6ren, listen', 4.0, 0, u'655755sa939b9b10'], [261, u'26-BEA', 138, 4, u'h\xf6ren, listen', 4.0, 0, u'655755sa939b9b10']], <type 'set'>, 'value')
Oh, je suis désolé, je n'ai pas pensé sur datagridfield - mais dans mes listes peuvent être des centaines de listes, je ne sais pas si datagridfiled peut gérer cela correctement. J'ai essayé TextLinesFieldWidget mais ceci a échoué aussi ... – user966660
Nous avons un datagridwidget avec plusieurs entrées de Hundert. Bien sûr, il faut environ 2 secondes pour afficher la vue d'édition. Mais à mon humble avis c'est OK. Cela dépend aussi du type de widget que vous utilisez (colonnes dans le DataGrid). S'ils effectuent des manipulations DOM avec Javascript, le widget dataagrid n'est peut-être pas la bonne solution pour vous. Mais si vous avez seulement TextLines, et., Cela devrait fonctionner, ou au moins vous devriez l'essayer. – Mathias