[Zope-dev] Referring to same interface using zope.schema.Object

Brian Sutherland brian at vanguardistas.net
Fri Jul 22 07:26:31 EDT 2011


On Fri, Jul 22, 2011 at 04:29:32PM +0530, Joe Steeve wrote:
> Hello,
> 
> I am trying to construct an object tree. Every node in the tree is of
> the same type. I am trying to achieve something like:
> 
>         class INode(Interface):
>         
>             parent = Object(
>                 title=u"Parent node",
>                 schema=INode
>                 )
>         
>             children = List(
>                 title=u'Child nodes',
>                 value_type=Object(schema=INode)
>                 )
> 
> The above fails with "NameError: name 'INode' is not defined". Any clues
> as to how to solve this?

This would be my first guess:

    class INode(Interface):
        pass
     
    INode.parent = Object(
            title=u"Parent node",
            schema=INode
            )

    INode.children = List(
            title=u'Child nodes',
            value_type=Object(schema=INode)
            )

-- 
Brian Sutherland


More information about the Zope-Dev mailing list