0

我的 gae python 代码似乎需要这些 if 语句。没有它们,gae 会引发此错误。

raise exception('%s must not be empty.' % name)
BadValueError: phone must not be empty.

这是代码。

reservation = Reservations(parent=court) 
if phone:
    reservation.phone = phone
if email:
    reservation.email = email
reservation.put()

这是数据存储模型。没有“必需”。

class Reservations(db.Model):    #parent is Courts
    court = db.ReferenceProperty(Courts)
    phone = db.PhoneNumberProperty()
    email = db.EmailProperty()

为什么我的代码中需要电话和电子邮件?

4

1 回答 1

1

我猜如果没有 if 语句,您的代码如下所示:

reservation = Reservations(parent=court) 
reservation.phone = phone
reservation.email = email
reservation.put()

如果是这样,那么它很可能会抛出该异常,因为phone在您的情况下可能是一个空字符串,或者当您分配给时看起来不像电话的东西reservation.phone

我建议您尽管根本不要使用PhoneNumberPropertyand EmailProperty,因为它们已被删除在最新的 NDB 中,而您可以使用StringProperty. 如果它是一个新项目,请考虑切换到 NDB,因为有一些很酷的新功能,比如自动缓存等等

于 2012-09-02T21:05:04.150 回答