python - 在 Flask-admin 中搜索非文本列

标签 python flask-sqlalchemy flask-admin

我有一个 sqlalchemy 模型:

class Multicast(db.Model):
    __tablename__ = "multicast"
    id = Column(Integer, primary_key=True)
    addr = Column(Inet)
    name = Column(Unicode(65))

我需要通过“addr”字段进行搜索。 我不能这样做:

class MulticastView(ModelView):
    column_searchable_list = ('name', 'addr',)
    column_filters = ('name', )
    model = Multicast

因为我有一个异常(exception):只能在文本列上搜索。无法设置“addr”搜索。我怎样才能进行此搜索?

最佳答案

我找到了一些解决方案。我重写了 MulticastView 中的 get_list 方法。我从 ModelView 复制了所有源代码,并在搜索条件代码中添加了一行:

filter_stmt.append(func.text(Multicast.addr).like(stmt))

它有效!

关于python - 在 Flask-admin 中搜索非文本列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26009081/

相关文章:

Python SQLAlchemy flask 模式

flask - on_form_prefill 如果执行 form.process 则删除所有字段值

python - 在 Apache 上运行时加载 pyodbc 模块时出错

python - 如何更新 Flask-SQLAlchemy 关联表?

python - 如何在数据库关系中直接引用表列?

flask - 根据flask admin中另一个字段的值显示字段

amazon-web-services - 使用 Flask-admin 将图像上传到 Amazon S3

python - 可选地在表达式中与 Python 正则表达式匹配?

python - 神经网络预测区间——MVE方法

python - 如何将数据从 pandas 数据帧分块加载到 spark 数据帧