gpt4 book ai didi

Python Flask Sqlalchemy Subst 查询

转载 作者:行者123 更新时间:2023-11-30 22:49:11 25 4
gpt4 key购买 nike

我正在公司开发一个内部搜索引擎,使用 Flask 和 sqlalchemy(sqlite) 用 python 编写。我目前的问题是我愿意。

A.) 查询描述字段的一定信息量B.) 最好在它之前 50 个字符和之后进行查询。

与链接字段下的 google 非常相似。如果您搜索某些内容,它会返回其下方包含 100 个字符的单词的链接。

我正在阅读文档,发现sqlalchemy中没有mid()函数。我还从这篇文章中注意到 sqlalchemy 仅支持 max、min 和 avg sqlalchemy: get max/min/avg values from a table

函数的 SQL 文档 http://docs.sqlalchemy.org/en/latest/core/functions.html

我试图实现一个查询,例如

links = Item.query(func.mid(Item.description, 0, 200).like('%helloworld%'))

我发布了 sqlite 的语法 Substr 并尝试过Item.query.filter(func.substr(Item.description,0, 200) == '%helloworld%')

sqlalchemy 有没有办法解决这个问题?

我的代码:

from sqlalchemy.sql.functions import func

def mainSearch(searchterm):
links = Item.query(func.mid(Item.title, 1, 3).Item.title.like('%e%'))
return links

HTML/Jinja 代码:

 {% for link in links.items %}

<div id="resultbox">

<div id="linkTitle"><h4><a href="{{ link.link }}">{{ link.title }}</a></h4> </div>
<div id="lastUpdated">Last Updated: {{ link.last_updated }} </div>
<div id="linkLink">{{ link.link }}</div>
<div id="linkDescription">{{ link.description | safe }}</div>
</div>

错误

类型错误:“BaseQuery”对象不可调用

我的数据库:SQLite

我也想在 sql 中进行类似的查询:

SELECT MID(column_name,start,length) AS some_name FROM table_name; 

总的来说,我尝试对我们在列描述中查询的数据执行此操作:

示例文本:

冠词(缩写为 ART)是与名词一起使用的单词(前缀或后缀),用于指示该名词所指的类型。冠词指定名词的语法明确性,在某些语言中延伸到体积或数字范围。英语冠词是 the 和 a/an,以及(在某些情况下)some。 “An”和“a”是古英语“an”的现代形式,在盎格鲁方言中是数字“one”(比较撒克逊方言中的“on”),并在现代苏格兰语中保留为数字“owan”。 “on”(诺曼人重新拼写为“one”)和“an”都保留到了现代英语中,其中“one”用作数字,“an”(“a”,在以辅音开头的名词之前)用作表示不定冠词。

在许多语言中,冠词是一种特殊的词类,不能轻易与其他词类组合。在英语中,冠词通常被认为是称为限定词的更广泛的语音类别的一部分,它结合了冠词和指示词(例如“this”和“that”)。

在使用冠词的语言中,除了一些异常(exception),每个普通名词都以一定的确定性(例如,确定或不定)来表达,就像许多语言用特定的语法数字(例如,单数或复数)来表达每个名词一样。每个名词都必须附有与其确定性相对应的冠词(如果有的话),并且缺少冠词(被视为零冠词)本身指定了一定的确定性。这与其他形容词和限定词形成对比,它们通常是可选的。冠词的这种强制性性质使它们成为许多语言中最常见的单词之一——例如,在英语中,最常见的单词是 the。[1]

冠词通常分为确定的或不确定的。[2]一些具有发达冠词系统的语言可能会区分其他子类型。在每种类型中,根据性别、数字或大小写等语法属性,或根据相邻的发音,语言可能有不同的冠词形式。

对此

冠词(缩写为 ART)是与名词一起使用的单词(前缀或后缀),用于指示该名词所指的类型。冠词指定名词的语法明确性,

因此,它不会因抓取 100,000 字长的文本而导致数据库崩溃。我只需要前 100 个

最佳答案

这与mid函数无关。错误消息显示'BaseQuery'对象不可调用。您在哪里调用BaseQuery?这里:

Item.query(...)

正确的咒语是:

db.session.query(func.mid(...))

Item.query.with_entities(func.mid(...))

关于Python Flask Sqlalchemy Subst 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39881240/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com