我在GAE的API中工作,我使用端点(使用python)。我希望通过响应发送的数据是我在此刻构建的一些对象。所以,为了发送这个对象,我用ProtoRPC消息构建了一个类。我想如何发送它们的列表我构建了一个代表集合或它们列表的类。
这是基础代码:
class Greeting(messages.Message):
"""Greeting that stores a message."""
message = messages.StringField(1)
class GreetingCollection(messages.Message):
"""Collection of Greetings."""
items = messages.MessageField(Greeting, 1, repeated=True)
但是当我想要建立一个集合时,我找不到方法。显然,看到文档,我读到我可以构建一个静态集合来发送它,例如:
STORED_GREETINGS = GreetingCollection(items=[
Greeting(message='hello world!'),
Greeting(message='goodbye world!'),
])
但是如果我想动态构建它? 在我的情况下,我有一个返回Greetings列表的进程,我找不到将其转换为使用EndPoints发送的Greeting集合的方法。
return STORED_GREETINGS
也许我正在搜索这样的内容:
(only orientative)
for greeting in greetings:
STORED_GREETINGS.add(greeting)
但我不知道该怎么做。
欢迎任何帮助。 非常感谢你。
答案 0 :(得分:1)
只需构建一个包含Greeting对象的普通列表,并将其分配给GreetingCollection:
greetingItems = []
greetingItems.append(Greeting(message='hello world!'))
greetingItems.append(Greeting(message='goodbye world!'))
...
STORED_GREETINGS = GreetingCollection(items=greetingItems)
答案 1 :(得分:0)
你应该能够做到:
greeting_collection = GreetingCollection()
greeting_collection.items = list_of_greetings
或者,或者:
greeting_collection = GreetingCollection()
greeting_collection.items.extend(iterable_of_greetings)