Hi! Make sure you are using queryfield as well as querywidget, and take a look at p.a.collection/tests/testCollection.py .
-Roel On Thu, Dec 16, 2010 at 8:17 AM, campbell <[email protected]> wrote: > > Hello... > > I'm repeating myself here, and I apologise, but I'm not able to figure this > out, yet. > > I've created a collection in python code, and I want to initialise it. In > archetypes.querywidget/field.py, in QueryField/set(), I read this: > """ > The passed in object should be a records object, or a sequence of > dictionaries > """ > > So in my code I've done this: > > obj.setQuery([{'i': 'Type', 'o': > 'plone.app.querystring.operation.selection.is', 'v': 'Service'}]) > > I've also tried this: > > obj.query = [{'i': 'Type', 'o': > 'plone.app.querystring.operation.selection.is', 'v': 'Service'}] > > But when I go to the edit tab on my new collection, I get this traceback: > > - URL: > > file:/home/cb/Plone/zinstance/src/archetypes.querywidget/archetypes/querywidget/skins/querywidget/querywidget. > pt > - Line 40, Column 36 > - Expression: <PythonExpr indexes[row.i]['title']> > - Names: > {'container': <PloneSite at /Plone>, > 'context': <Collection at /Plone/services>, > 'default': , > 'here': <Collection at /Plone/services>, > 'loop': {u'field': <Products.PageTemplates.Expressions.PathIterator > object at 0xc49bbcc>, > u'fieldset': > <Products.PageTemplates.Expressions.PathIterator object at 0xc49b60c>, > u'row': <Products.PageTemplates.Expressions.PathIterator > object at 0xc5120ec>}, > 'nothing': None, > 'options': {'args': (), > 'state': > <Products.CMFFormController.ControllerState.ControllerState object at > 0xbfddbec>}, > 'repeat': <Products.PageTemplates.Expressions.SafeMapping object at > 0xae561bc>, > 'request': <HTTPRequest, > URL=http://localhost:8080/Plone/services/atct_edit>, > 'root': <Application at >, > 'template': <FSControllerPageTemplate at /Plone/atct_edit used for > /Plone/services>, > 'traverse_subpath': [], > 'user': <PropertiedUser 'admin'>} > Module Products.PageTemplates.ZRPythonExpr, line 49, in __call__ > - __traceback_info__: indexes[row.i]['title'] > Module PythonExpr, line 1, in <expression> > AttributeError: 'dict' object has no attribute 'i' > > What does the set() function's doc string mean, when it says "a records > object"? > > I can't find any examples of how this is done, outside of the > p.a.collection > tests, and there, a list of dictionaries is used just like mine. If I > manually create a collection, and modify querywidget.pt to simply print > the > row, it appears as a list of dictionaries, exactly like mine. > > Any pointers, please... ? > > -- > View this message in context: > http://plone.293351.n2.nabble.com/plone-app-collection-and-archetypes-querywidget-initialisation-in-python-code-tp5841090p5841090.html > Sent from the Product Developers mailing list archive at Nabble.com. > _______________________________________________ > Product-Developers mailing list > [email protected] > http://lists.plone.org/mailman/listinfo/product-developers > -- Roel Bruggink http://www.fourdigits.nl/mensen/roel-bruggink Four Digits BV http://www.fourdigits.nl Willemsplein 44, 6811 KD, Arnhem tel: +31(0)26 4422700 fax: +31(0)26 7600012 KVK 091621370000 BTW 8161.22.234.B01
_______________________________________________ Product-Developers mailing list [email protected] http://lists.plone.org/mailman/listinfo/product-developers
