0

我正在使用 webargs 和 python 创建一个 API,并且我的条件是用户必须提供电话号码或电子邮件地址。如果用户仅提供电子邮件地址,那么当 sqlalchemy 尝试实例化 PhoneNumberType 时,我会收到预期的错误:

sqlalchemy_utils.types.phone_number.PhoneNumberParseException: (1) (1) 提供的电话号码为无。

我的问题是如何使这个数据库字段能够接受一个空电话号码并保持该条目为空?

这是我的用户模型的一部分:

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 null ??

4

1 回答 1

1

不,因为该库依赖于必须采用 raw_number 参数的 google 库。您可以尝试/除并忽略

phonenumbers.phonenumberutil.NumberParseException

当字段为空时,即使您手动更改条目,对象也不会实例化。

于 2017-08-06T23:51:49.087 回答