您确实可以将传入的对象转换为 dicts 并将它们传递给 suds。但是 Spyne 已经提供了两种方式 object<==>dict 转换工具。
要转换为 dict,您可以使用spyne.util.dictdoc
.
例如
from spyne.model.complex import ComplexModel
from spyne.model.primitive import Integer
class B(ComplexModel):
c = Integer
class A(ComplexModel):
a = Integer
b = B
from spyne.util.dictdoc import get_object_as_dict
print get_object_as_dict(A(a=4, b=B(c=5)), A)
# prints {'a': 4, 'b': {'c': 5}}
get_object_as_dict(A(a=4, b=B(c=5)), A, ignore_wrappers=False)
# prints {'A': {'a': 4, 'b': {'B': {'c': 5}}}}
我希望它有所帮助。