python - 在 Django 中搜索表中的所有字段

标签 python django

如何使用filter子句在django中搜索表中的所有字段 例如:table.object.filter(表中的任何字段="sumthing")

谢谢。

最佳答案

我同意 Alasdair 的观点,但您的问题的答案是这样的:

from django.db.models import CharField
from django.db.models import  Q

fields = [f for f in table._meta.fields if isinstance(f, CharField)]
queries = [Q(**{f.name: SEARCH_TERM}) for f in fields]

qs = Q()
for query in queries:
    qs = qs | query

table.objects.filter(qs)

注意:我还没有测试过这段代码,但它应该能让你离目标很近

关于python - 在 Django 中搜索表中的所有字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1866847/

相关文章:

python - 属性错误: 'function' object has no attribute 'my_args'

javascript - Django/Webpack - 如何使用 webpack 开发服务器提供生成的 webpack 包

python - 我应该如何继续使用 Python 进行银行应用程序

python - texts_to_sequences() 缺少 1 个必需的位置参数 : 'texts'

python - 从多索引 DataFrame 中多次获取同一行

python - 使用robotframework,是否可以在测试结束后做一些事情?

python - beanie.exceptions.CollectionWasNotInitialized 错误

python - Django + Django REST csrf on AJAX direfent 站点请求

django - 从 AbstractUser 继承的模型不会散列密码字段

Django - 触发 auto_now 字段更改