端点以不同的顺序在已部署的上返回值

2024-10-01 15:31:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个端点,它返回的值基本上是10行字符串,在我的数据库中由以下类表示:

class BoardForm(messages.Message):
    """Used to show a board state"""
    row_0 = messages.StringField(1)
    row_1 = messages.StringField(2)
    row_2 = messages.StringField(3)
    row_3 = messages.StringField(4)
    row_4 = messages.StringField(5)
    row_5 = messages.StringField(6)
    row_6 = messages.StringField(7)
    row_7 = messages.StringField(8)
    row_8 = messages.StringField(9)
    row_9 = messages.StringField(10)

在我的开发服务器上,当我使用这个端点时,它会按照上面看到的顺序整齐地返回所有10行。但是,部署了应用程序并在live server上测试了端点(代码没有更改),我的行的顺序就不同了。live端点还返回"kind""etag"的数据,这不在dev服务器上,我之所以提到这一点,是因为这是我所能看到的唯一其他区别

通过使用不同的类,我能够创建一个显示正确顺序的工作环境:

class StringMessages(messages.Message):
    """Outbound (multiple) string message"""
    items = messages.StringField(1, repeated=True)

我只是将每一行放入这个类中,创建一个列表,然后返回该值(显然也更改了端点的response_message

然而,我真的很想知道为什么部署的服务器上的顺序会突然改变。它似乎不是随机的,因为重复使用端点的尝试每次都返回相同的顺序(类似于4、5、0、1、2、3、6、7、8、9等)。我可以忍受我的工作,但如果有更好的方法解决这个问题,我宁愿不使用它。如果我能更好地理解GAE,那也会很好


Tags: 字符串服务器live数据库message顺序部署端点
1条回答
网友
1楼 · 发布于 2024-10-01 15:31:47

没有看到如何显示输出。变量没有“排序”。返回一个具有顺序的列表如何:

class BoardForm(messages.Message):
    """Used to show a board state"""
    row_list = [messages.StringField(i) for i in range(1,11)]

相关问题 更多 >

    热门问题