0
我有一個返回值基本上是串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行。但是,在部署應用程序並在實時服務器上測試端點(不更改代碼)後,我的行順序不同。實時端點還返回"kind"
和"etag"
的數據,該數據不在開發服務器上,我提到它是唯一可以看到的其他差異。
我能創造一個變通,通過使用不同的類顯示正確的順序:
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,那也是好的。
這基本上是我用'StringMessages'類做的。爲了顯示輸出,我只使用API瀏覽器來運行端點並查看其返回數據。所以,如果我正確理解了你,除非我使用內置訂單的東西,如列表,並且我在開發服務器和實時服務器上看到的訂單只是巧合,否則無法獲得有序輸出? – coralvanda
要獲得訂單,您必須按正確的順序分別獨立調用變量。列表更有意義,因爲您可以按順序循環。而不是'row_3',你會有'row_list [3]' – GAEfan