2012-08-06 112 views
0

我写了一个简单的程序使用GAE和Python 2.7,但我遇到了一些问题,同时存储数据到数据库。我的代码如下:在 “的MemberInfo =的MemberInfo()属性%s是必需的

class MemberInfo(db.Model): 
    firstName = db.StringProperty(required=True) 

class RegisterPageButtonDown(webapp2.RequestHandler): 
    def post(self): 
     memberInfo = MemberInfo()  
     memberInfo.firstName = self.request.get('firstName') 
     memberInfo.put() 

错误加薪,它说: “物业的firstName需要”。我确信我把数据放在html表单中,方法也是post。

我一直被困在这个问题整晚,谢谢你的回复。

回答

1

您已经设置为需要的firstName财产,所以当你实例化一个对象,你必须提供一个值属性,例如:

memberInfo = MemberInfo(firstName = self.request.get('firstName')) 

或者,您也可以使firstName在模型中不是必需的。

+0

嗨,如果我在db和形式,我怎么可以把所有数据的许多条目使用一个命令? – 2012-08-06 17:06:10

+0

这听起来像是一个单独的问题。你可以创建另一个吗? – 2012-08-06 17:28:13

+0

即使对于keyproperty和userproperty也是如此?我只对这些属性使用'required = True',并且在没有提供属性的情况下实例化这些实体,就像所讨论的代码一样。 – 2012-08-06 22:06:58

1

错误来自函数的第一行,甚至在您从请求中获取值之前。这是因为您需要在实例化对象时传入该值。

firstName = self.request.get('firstName') 
memberInfo = MemberInfo(firstName=firstName) 

(另请注意,Python的正常命名约定意味着变量和属性都lower_case_with_underscore,不camelCase

+0

嗨,如果我有很多条目在数据库和窗体中,我怎么能把所有的数据使用一个命令? – 2012-08-06 17:03:14

+0

我找到了答案,谢谢 – 2012-08-06 17:31:48