是否可以将SQLalchemy中的PhoneNumberType存储为null?

2024-06-06 11:31:44 发布

您现在位置:Python中文网/ 问答频道 /正文

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

SQL炼金术_utils.types.电话号码.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)

国家代码是出于其他原因需要的,但是有没有一种方法可以让。。。_电话空??在


Tags: 用户apidbsqlalchemy地址saunicodephone
1条回答
网友
1楼 · 发布于 2024-06-06 11:31:44

不,因为库依赖于一个googlelib,它必须采用raw_number参数。您可以尝试/排除并忽略

phonenumbers.phonenumberutil.NumberParseException

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

相关问题 更多 >