我试图创建一个表示树的消息类,所以我自然地选择了:
class Node(messages.Message):
name = messages.StringField(1)
children = messages.MessageField(Node,2,repeated=True)但这是行不通的,因为在line 3,Node还没有定义,而且还没有解决。
对于如何使用protorpc消息生成树(任意树,而不是固定深度的树),有什么想法吗?
编辑:
试过:
class AbstractNode(messages.Message):
pass
class Node(AbstractNode):
name = messages.StringField(1)
children = messages.MessageField(AbstractNode, 2, repeated=True)端点抱怨:MessageDefinitionError: Message types may only inherit from Message
发布于 2015-04-14 12:55:44
要做到这一点,可以使用一个字符串:
>>> class Node(messages.Message):
... name = messages.StringField(1)
... children = messages.MessageField('Node',2,repeated=True)您可以在这里的echo服务演示中看到这方面的一个示例:
https://github.com/google/protorpc/blob/master/demos/echo/services.py#L81
https://stackoverflow.com/questions/29625847
复制相似问题