为什么需要一个电话号码?

时间:2012-09-02 20:38:49

标签: python google-app-engine google-cloud-datastore

我的gae python代码似乎需要这些if语句。如果没有他们,就会抛出这个错误。

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()

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

1 个答案:

答案 0 :(得分:1)

我猜你的代码看起来没有if语句:

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

如果是这样那么很可能它会引发异常,因为你的案例中的phone可能是一个空字符串,或者在你分配给reservation.phone时看起来不像电话的东西

我建议您尽管不使用PhoneNumberPropertyEmailProperty,因为它们在最新的NDB中为dropped,而您可以使用StringProperty。如果它是一个新项目,请考虑切换到NDB,因为有一些很酷的新功能,例如automatic caching and more