2017-08-06 77 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 

当字段为空,则对象将不实例,即使你手动更改的条目。

相关问题