将类的对象传递给google app引擎中的另一个类

时间:2012-10-05 07:06:43

标签: google-app-engine

我正在使用谷歌应用引擎, 我有两个类,即A和B,一个db模型说DB, 我在A类处理了DB模型的对象,我想要 要在B类中发送相同的对象,我该怎么做? 这是我的代码,

class Candidate(db.Model):
    name = db.StringProperty()
    lastname = db.StringProperty()
    email = db.StringProperty()
    mobno = db.StringProperty()

class A(webapp2.RequestHandler):
    def post(self):
        currCandidate = Candidate(key_name=self.request.get('email'))
        currCandidate.name = self.request.get('name')
        currCandidate.lastname=self.request.get('lname')
        currCandidate.email=self.request.get('email')
        currCandidate.mobno=self.request.get('mobno')

class B(webapp2.RequestHandler):
    def get(self):
        # currCandidate
        # want to access currCandidate object here,
        # currCandidate is from class A

我想从B类访问currCandidate对象。

2 个答案:

答案 0 :(得分:0)

因为您正在创建一个Web应用程序,所以您可以将该对象存储在会话变量中并在其他类中访问它。在java这由serializing对象完成,并将其存储在会话变量中< / p>

答案 1 :(得分:0)

你的'A'处理程序是POST,并通过keyname获取Candidate对象,keyname是电子邮件请求参数。你能不能为'B'处理程序使用相同的机制?这是一个GET,因此您需要将该电子邮件作为URL参数传递。例如https://yourapp.appspot.com/b?email=someemail@domain.com

然后您可以使用在POST中使用的相同代码再次选择它 - currCandidate = Candidate(key_name = self.request.get('email'))。