gpt4 book ai didi

django - 在 Django 查询比较中使用变量而不是字段名

转载 作者:行者123 更新时间:2023-12-02 07:21:28 25 4
gpt4 key购买 nike

假设我有以下查询:

query_result = Mymodel.objects.values('price').filter(price__gte=0)

如果我想概括查询并将其放入一个函数中,我可以将 'price' 替换为一个变量:

def price_query(column_name):
query_result = Mymodel.objects.values(column_name).filter(column_name__gte=0)
return query_result

price_query('price')

第一次用 column_name 替换 'price' 工作正常,但是我如何使用比较 __gte 和变量而不是字段姓名。

非常感谢任何帮助。

最佳答案

您可以解压字典以提供关键字参数:

def price_query(column_name):
filter_kwargs = {
"{}__gte".format(column_name): 0
}
query_result = Mymodel.objects.values(column_name).filter(**filter_kwargs)
return query_result

关于django - 在 Django 查询比较中使用变量而不是字段名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44750384/

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