我已经看过这个post了,它没有回答我的问题
下面是我的proto文件的样子
message GetWarehousesRequest {
CreateAttributes base_wh = 1;
repeated CreateAttributes partnered_wh = 2;
}
(我不张贴grpc方法签名,因为他们是微不足道的)
注意partnered_wh
是一个数组。
在python中我有这个方法
def get_warehouses(
self,
base_wh: create_attributes_pb2,
partnered_whs: List[create_attributes_pb2],
) -> int:
start_time = utcnow().replace(tzinfo=None)
request = get_warehouses_request_pb2(
base_wh=base_wh,
)
for partnered_wh in partnered_whs:
request.partnered_wh.add(partnered_wh)
在for循环中,我得到错误 No position arguments are allowed。我需要将python List转换为gRPC数组。最好的办法是什么?我可以把这个列表分配给对象吗?还是有更好的办法?
1条答案
按热度按时间zpgglvta1#
你有三个选择:
c = p.add()
--添加一个新的子节点并返回(!)它1.
p.append(c)--追加子级 1.
p.extend([c1,.. cn])--追加多个子项假设
create_attributes.proto
:并且:
然后:
演示每种方法(1..3):