我正在使用PynamoDB并尝试从flask请求生成对属性的动态查询/扫描。假设以下模型:
class Test(Model):
class Meta:
table_name = "test"
region = "us-west-2"
a = NumberAttribute(hash_key=True)
b = NumberAttribute(range_key=True)
c = UnicodeAttribute()
我把它固定在Flask上,这样当用户发送带有查询参数的请求时,比如?a=123&b=456
,我可以把它转换成PynamoDB中的一个过滤器,以返回与这两个过滤器匹配的记录的结果。在
以下操作适用于单个属性:
^{pr2}$我希望能够将此附加到动态数量的属性上(例如,除了a、b和c)
我尝试将其转换为元组,但似乎出现以下错误:
>>> query = (operator.eq(Test.a, 123), operator.eq(Test.b, 456))
>>> list(Test.scan(*query))
但我得到了以下错误:
Invalid type for parameter Segment, value: b = {'N': '1'}, type: <class 'pynamodb.expressions.condition.Comparison'>, valid types: <type 'int'>, <type 'long'>
关于如何构造一个动态过滤器来传入PynamoDB扫描方法有什么想法吗?在
怎么样:
您是否尝试过:
相关问题 更多 >
编程相关推荐