Daniel Nouri wrote: > Not sure I'm using the Object field right, but this seems odd: > > >>> from zope.schema import Field, Object > >>> from zope.schema.interfaces import IField > >>> field = Object(IField) > >>> field.validate(Field()) > Traceback (most recent call last): > File "<stdin>", line 1, in ? > File > > "/home/daniel/lib/Zope-3.2.0/lib/python/zope/schema/_bootstrapfields.py", > line 138, in validate > self._validate(value) > File > "/home/daniel/lib/Zope-3.2.0/lib/python/zope/schema/_field.py", > line 418, in _validate > raise WrongContainedType(errors) > zope.schema.interfaces.WrongContainedType: [, ] > > The error message is not really helpful. Turns out that the given error > is a RequiredMissing error and it's missing the value of 'default' on > the field. > > Am I doing something wrong or is the Object field not behaving as it > should? >
It does as it should. Use it this way: from zope.interface import Interface from zope.schema import Object class IFoo(Interface): #blabla class IFooture(Interface): bar = Object(IFoo, title=u"blabla") # you can also give the IFoo-Interface as a keyword: barbar = Object(schema=IFoo, title=u"blabla from barbar") There is a nice and helpfull example in ++apidoc++: Book --> Widgets and Forms --> Advanced Widgets Please also refer to srichter's book, chapter 8.3 (p. 54). Regards, Christian _______________________________________________ Zope3-users mailing list Zope3-users@zope.org http://mail.zope.org/mailman/listinfo/zope3-users