我为错误消息创建了自己的Common类
# for returning error messages
class ErrorMessage(messages.Message):
errorCode = messages.StringField(1)
developerMessage = messages.StringField(2)
userMessage = messages.StringField(3)
和端点的输出类别
# output class for GetFriendlyFieldNames
class GetFriendlyFieldNamesOutput(messages.Message):
friendlyNames = messages.MessageField(GetFriendlyFieldNamesStore, 1,repeated=True)
我试图将多个类继承到我的输出类,并将上面的类更改为
# output class for GetFriendlyFieldNames
class GetFriendlyFieldNamesOutput(messages.Message,ErrorMessage):
friendlyNames = messages.MessageField(GetFriendlyFieldNamesStore, 1,repeated=True)
但现在这在日志中显示错误
"消息类型只能继承自消息"
这是Google Proto RPC库的限制。在它的源代码中,你会发现这是不可能的。
它将只允许一个子类的直接消息。消息:
if bases != (object,):
# Can only define one level of sub-classes below Message.
if bases != (Message,):
raise MessageDefinitionError(
'Message types may only inherit from Message')