python - Django 附加 <queryset> 使用过滤器搜索句子中的每个单词

标签 python django django-queryset

我想搜索句子中的每个单词并将其放入 result['post'] 字典中 当然,此代码仅查找最后一个查询

queries = querystring.split()
    for query in queries:
        results['posts'] = Post.objects.filter(text__icontains=query)

我尝试了appendextend和很多东西,但它没有按预期工作。

编辑更新: 我也尝试过

    count = {}
    results = {}
    post_results = []
    queries = querystring.split()
    for query in queries:
        post_results.append(Post.objects.filter(text__icontains=query))
    results['posts'] = post_results
    count['posts'] = results['posts'].count()

但这会导致另一个错误 count() 仅接受一个参数(给定 0)

Error Image

此外,Post.objects.filter(text__icontains=query) 此行返回一个查询集值和 Queryset type of django好像没有追加。是否有自己的附加功能?如果是这样,则不会将其查询集类型更改为列表。使用 temp 变量(如 post_results = [])更改列表。

我们可以将该列表更改回查询集吗?如果我们可以的话那就行了。

最佳答案

我猜原因是 results['posts'] 值在每个 for 循环中都会被覆盖..

更改代码怎么样

queries = querystring.split()
tmp = []
for query in queries:
        tmp.append(Post.objects.filter(text__icontains=query))
results['posts'] = tmp

关于python - Django 附加 <queryset> 使用过滤器搜索句子中的每个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48841782/

相关文章:

python - 切片1行 Pandas 数据帧时,切片将变成一系列

python - 使用 python 将一列(减法)添加到数据框中

python - django模型表格。包括来自相关模型的字段

django - 我想从数据库中查询 3 个随机产品,每次只有 3 个

python - 如何使用带有信号的 Django 模型继承?

mysql - 注释 Django 1.8 中复杂子查询的结果到 QuerySet

python - Django错误相关字段查找无效: icontains

python - Python正则表达式中的groups()方法

django - 有没有办法从 Django 中的模型查询集中获取相关字段的类型?

python - AWS : empty SQS queue when subscribed to SNS via boto3