gpt4 book ai didi

python - CQL过滤方法-python

转载 作者:行者123 更新时间:2023-12-01 00:29:09 25 4
gpt4 key购买 nike

我有以下 CQL 表。

session = columns.Date(primary_key=True, partition_key=True, required=True)
entity = columns.Text(primary_key=True, partition_key=True, required=True)
broker = columns.Text(primary_key=True, required=True)
prof = columns.Text(primary_key=True, required=True)
prod = columns.Text(primary_key=True, required=True)
....

从 cql 引擎读取文档,有一个“过滤器”方法,我可以使用( session 、实体)-> 分区键或任何我想要的内容进行过滤。

我的问题如下,我想始终按( session ,实体)进行过滤,但也想按可能数量的字段进行过滤,例如“prof”或“prod”或两者都进行过滤。

我执行此操作的函数如下。

def search_by(cls, entity, session, **kwargs): #entity, session, filter
activity_summary = ActivitySummary.objects \
.filter(entity=entity, session=session) \
.filter(kwargs) \
.allow_filtering()
return cls._to_dataframe(activity_summary)

其中 **kwargs 是我的变量过滤器,是一个带有主键的字典,我想用它来过滤它(例如 {'prof':'MAXIMO'} )。

但是它不起作用,因为它没有将字典名称与列 cql 表名称正确匹配。

有什么想法吗?谢谢。

最佳答案

您需要在传递 kwargs 时扩展它们。

def search_by(cls, entity, session, **kwargs): #entity, session, filter
activity_summary = ActivitySummary.objects \
.filter(entity=entity, session=session) \
.filter(**kwargs) \
.allow_filtering()
return cls._to_dataframe(activity_summary)

注意 .filter(**kwargs) 而不是 .filter(kwargs)

关于python - CQL过滤方法-python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58322043/

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