Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python MessageField的MessageTypes循环引用_Python_Google App Engine_Google Cloud Endpoints - Fatal编程技术网

Python MessageField的MessageTypes循环引用

Python MessageField的MessageTypes循环引用,python,google-app-engine,google-cloud-endpoints,Python,Google App Engine,Google Cloud Endpoints,在我的两个message类中,我有两个互相引用的MessageField。服务器不会以这种方式运行,在此期间,在找到解决方案之前,我已注释掉其中一个属性。这个问题有Python解决方案吗 class ChoiceMessage(messages.Message): code = messages.StringField(1, required=True) order = messages.IntegerField(2, required=True) text = mes

在我的两个message类中,我有两个互相引用的MessageField。服务器不会以这种方式运行,在此期间,在找到解决方案之前,我已注释掉其中一个属性。这个问题有Python解决方案吗

class ChoiceMessage(messages.Message):

    code = messages.StringField(1, required=True)
    order = messages.IntegerField(2, required=True)
    text = messages.StringField(3, required=True)
    image = messages.EnumField(Image, 4)
    sub_question = messages.MessageField(QuestionMessage, 5)

class QuestionMessage(messages.Message):

    code = messages.StringField(1, required=True)
    type = messages.EnumField(Type, 2, required=True)
    order = messages.IntegerField(3, required=True)
    text = messages.StringField(4, required=True)
    choices = messages.MessageField(ChoiceMessage, 5, repeated=True)

即使您可以解决循环引用(当前代码无法处理),我也非常确定StructuredProperty不会允许您这样做。你应该重新设计你的模型