Python中文
首页
教程
问答
标签
搜索
登录
注册
Python PynamoDB用Flas创建动态查询
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在使用PynamoDB并尝试从flask请求生成对属性的动态查询/扫描。假设以下模型:</p> <pre><code>class Test(Model): class Meta: table_name = "test" region = "us-west-2" a = NumberAttribute(hash_key=True) b = NumberAttribute(range_key=True) c = UnicodeAttribute() </code></pre> <p>我把它固定在Flask上,这样当用户发送带有查询参数的请求时,比如<code>?a=123&b=456</code>,我可以把它转换成PynamoDB中的一个过滤器,以返回与这两个过滤器匹配的记录的结果。在</p> <p>以下操作适用于单个属性:</p> ^{pr2}$ <p>我希望能够将此附加到动态数量的属性上(例如,除了a、b和c)</p> <p>我尝试将其转换为元组,但似乎出现以下错误:</p> <pre><code>>>> query = (operator.eq(Test.a, 123), operator.eq(Test.b, 456)) >>> list(Test.scan(*query)) </code></pre> <p>但我得到了以下错误:</p> <pre><code>Invalid type for parameter Segment, value: b = {'N': '1'}, type: <class 'pynamodb.expressions.condition.Comparison'>, valid types: <type 'int'>, <type 'long'> </code></pre> <p>关于如何构造一个动态过滤器来传入PynamoDB扫描方法有什么想法吗?在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您是否尝试过:</p> <pre><code>query = (Test.a == 123) | (Test.b == 456) list( Test.scan(query)) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在PyObj中使用respondsToSelector和performSelector
1 回答
如何在pyobj中停止线程
3 回答
如何在pyobj中生成线程
10 回答
如何在pyodbc中为记录集指定游标类型?
10 回答
如何在pyodbc中从用户处获取表名,同时避免SQL注入?
6 回答
如何在pyodbc中使用executemany运行多个SELECT查询
2 回答
如何在pyodbc中同时在n个游标上并行运行n个进程?
8 回答
如何在pyodbc中控制连接池的大小?
6 回答
如何在pyodbc中自动调用fetchall()而不进行异常处理?
4 回答
如何在pyODBC查询中参数化日期戳?
10 回答
如何在pyodbc输出转换器函数中解压sqlserver DATETIME?
9 回答
如何在pyodb中安装所有驱动程序
6 回答
如何在pyodb嵌套循环中调用不同的查询
7 回答
如何在pyomo.environ公司modu装置
7 回答
如何在Pyomoconstraints中建模逻辑或量词
9 回答
如何在Pyomo中为约束使用数组
6 回答
如何在pyomo中使用集和范围集的多级索引?
4 回答
如何在PYOMO中分配伪二进制变量
5 回答
如何在Pyomo中创建OR约束?
6 回答
如何在Pyomo中动态地将变量添加到列表中?
1 回答