gpt4 book ai didi

python - 在 Python (Django) 中使用名称属性作为参数

转载 作者:行者123 更新时间:2023-11-28 17:41:08 25 4
gpt4 key购买 nike

我正在尝试将名称属性作为参数传递给函数,以使其更通用。

比如我想修改这个函数:

@classmethod
def count_events_per_day(cls, myqueryset):
return myqueryset.filter(
created__range=(a,b))

做类似的东西:

@classmethod
def count_events_per_day(cls, myqueryset, attr_name): # attr_name would be passed as a string
return myqueryset.filter(
attr_name__range=(a,b))

有没有办法做到这一点?我搜索了 SO,但我想我使用的关键字不相关,因为我找不到任何答案。

谢谢!

最佳答案

这很简单,因为您可以将参数传递给字典中的函数:

@classmethod
def count_events_per_day(cls, myqueryset, attr_name):
return myqueryset.filter(**{
attr_name + '__range': (a, b)
})

UPD:添加链接以解释双星语法的答案:https://stackoverflow.com/a/2921893/816449

关于python - 在 Python (Django) 中使用名称属性作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23995536/

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