2012-01-29 64 views
1

每当我尝试与第二对象(bClass)的属性传递对象(ACLASS)AM获得:传递多个对象与透视代理(复杂类型)

Unpersistable('Unpersistable数据:类的实例amodule.bClass认为不安全')

该aClass是可复制和unjellied,bClass不是。

这里是我的代码:

server.py:

from twisted.application import internet, service 
from twisted.spread import pb 
from amodule import PBServer 

application = service.Application("Test app") 

# Prepare managers 
clientManager = internet.TCPServer(8282, pb.PBServerFactory(PBServer())); 
clientManager.setServiceParent(application) 

if __name__ == '__main__': 
    print "Run with twistd" 
    import sys 
    sys.exit(1) 

amodule.py:

from twisted.spread import pb 

class bClass: 
    """This is not a Copyable class 
    """ 

class aClass(pb.RemoteCopy, pb.Copyable): 
    b = bClass() 
pb.setUnjellyableForClass(aClass, aClass) 

class PBServer(pb.Root): 
    def remote_echo(self, a): 
     return a.b 

反正是有unjelly ACLASS和所有它可以包含的对象?因为unjellying包括对象是一个头痛可能变成肮脏的代码......

回答