gpt4 book ai didi

django - 如何在 Django 查询中动态提供查找字段名称?

转载 作者:行者123 更新时间:2023-12-03 12:25:18 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





In Django, how does one filter a QuerySet with dynamic field lookups?

(5 个回答)


3年前关闭。




我想在 Django 模型的几个字段中查找某个字符串。理想情况下,它会类似于:

keyword = 'keyword'
fields = ['foo', 'bar', 'baz']
results = []
for field in fields:
lookup = "%s__contains"
results.append(Item.objects.filter(lookup=keyword))

当然这行不通,因为“查找”无法解析为字段。有没有其他方法可以做到这一点?

最佳答案

我认为使用 Django 查询系统可能有更好的方法来做到这一点。以下是如何按照您的方式进行操作。

Python 允许您通过在字典前加上 ** 来传递用作参数列表的字典。
运气好的话,你应该能够做这样的事情:

lookup = "%s__contains" % field
results.append(Item.objects.filter(**{ lookup: keyword}))

关于django - 如何在 Django 查询中动态提供查找字段名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1227091/

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