Say I want to define a message that includes another message (in case you'd like to have a list, for example, but it's irrelevant)
class MyMessage(messages.Message):
rewards = messages.MessageField(MyOtherMessage, 1, repeated=True)
Well, this works fine only if MyOtherMessage is not a nested class in a module.
# This works fine
class MyOtherMessage(messages.Message):
......
class Foo:
# This doesn't work
class MyOtherMessage(messages.Message):
......
Not that using a string form for MyMessage won't help you either
class MyMessage(messages.Message):
# This doesn't work either
rewards = messages.MessageField("Foo.MyOtherMessage", 1, repeated=True)