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

andは最新の NDB にドロップPhoneNumberPropertyされ、代わりに を使用できるため、 andEmailPropertyはまったく使用しないことをお勧めします。自動キャッシングなどの優れた新機能があるため、新しいプロジェクトの場合は NDB への切り替えを検討してください。StringProperty

于 2012-09-02T21:05:04.150 に答える