2017-08-06 78 views
0

我正在用webargs和python創建一個API,並且我有一個條件,即用戶必須提供電話號碼或電子郵件地址。如果用戶僅提供電子郵件地址,則當sqlalchemy試圖實例化PhoneNumberType時,出現預期錯誤:是否可以將來自SQLalchemy的PhoneNumberType存儲爲空?

sqlalchemy_utils.types.phone_number.PhoneNumberParseException:(1)(1)提供的電話號碼爲None。

我的問題是我如何使這個數據庫字段能夠接受一個空的電話號碼,只是保持該條目爲空?

這裏是我的用戶模型的一部分:

import flask_sqlalchemy as sa 
... 
phone   = db.Column(db.Unicode(20), nullable=True) 
country_code = db.Column(db.Unicode(8), nullable=False) 
_phone  = sa.orm.composite(PhoneNumber, phone, country_code) 

國家是需要其他原因的代碼,但有沒有辦法讓說... _Phone空?

回答

0

不,因爲該庫依賴於必須採用raw_number參數的Google庫。你可以做一個try/except和忽略

phonenumbers.phonenumberutil.NumberParseException 

當字段爲空,則對象將不實例,即使你手動更改的條目。

相關問題