将Django对象输出为XML-RPC响应

1 投票
1 回答
594 浏览
提问于 2025-04-16 03:32

我正在尝试在XML-RPC的响应中返回一个Django对象。请问能否将一个模型序列化为XML-RPC的方法响应?

1 个回答

1

我找到了如何使用xmlrpclib.dumps来进行序列化的方法。

def get_model(uuid):
    o = MyModel.objects.get(uuid=uuid)
    return xmlrpclib.dumps((o, ), allow_none=True, methodresponse=1)

这样做会得到一个XML-RPC的methodResponse(方法响应)。然后在客户端,我只需要用xmlrpclib.loads来把它转换成Python的本地对象。

got_model = rpc_srv.getmodel('f21e4e0b-493a-460b-982a-d2bb31c45864')
m, method = xmlrpclib.loads(got_model)
for item in m:
    print item

撰写回答