首页 > 解决方案 > 没有任何特殊符号和空格的sqlalchemy自定义字符串

问题描述

我尝试创建除现有字符串类型之外的 SQLalchemy 类。如果值中有特殊符号或空格,我的类型应该会引发错误。有我的实现。

class StringWithoutSpecialSymbols(TypeDecorator):

impl = sa.String

def process_bind_param(self, value, dialect):
    if value:
        if re.match(r"^[a-z0-9A-Zа-яА-ЯёЁ]+$", value):
            return value
        raise ValueError("Object shouldn`t contain any special symbols or spaces")
    return value

def process_result_value(self, value, dialect):
    return value

def copy(self, **kw):
    return StringWithoutSpecialSymbols(self.impl.length)

但是有一个错误

/lib/python3.9/site-packages/flask_admin/contrib/sqla/view.py", line 719, in scaffold_filters
for f in flt:

TypeError:“NoneType”对象不可迭代

标签: pythondatabasesqlalchemy

解决方案


推荐阅读