【问题标题】:is it possible to store a PhoneNumberType from SQLalchemy as null?是否可以将 SQLalchemy 中的 PhoneNumberType 存储为空?
【发布时间】:2017-08-06 21:05:15
【问题描述】:

我正在使用 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 ??

【问题讨论】:

    标签: python sqlalchemy flask-sqlalchemy webargs


    【解决方案1】:

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

    phonenumbers.phonenumberutil.NumberParseException
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多