问题标签 [pynamodb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 是否可以使用独占终端节点在 DynamoDB 全局二级索引上生成 BETWEEN 查询?
默认情况下,BETWEEN 查询的端点是包含的。我想使用专有端点查询一系列日期时间。
我目前正在使用 pynamo,所以我的查询是:
我不想包含具有create_date
of 的项目end_datetime
。在我当前的偏好顺序中,不太理想的选项是create_date == end_datetime
在查询之后显式过滤掉项目,create_date
从索引中删除并使用过滤条件获得结果,并end_datetime
通过在发送到查询之前减去微秒来调整。
有什么方法可以直接支持这一点,或者对首选的解决方法有建议吗?
amazon-dynamodb - 使用 Pynamodb 保存对象创建日期时间
我只想在creation_datetime
创建新对象时更新,并在使用该方法last_update_datetime
时在每次更新时更新。即使现有对象正在更新,也正在更新时间。有什么选择吗?save
default_for_new
下面是我试过的示例代码
python-3.x - PynamoDb - 递增/递减动态属性
是否可以创建和使用 DynamicMapAttributes 等动态属性?我想要实现的是,创建和设置/更新/递增/递减动态属性及其值。
例如,
然后在稍后的时间点在交易中,
Student.<subject_name>.add(10)
我可以将 Sub 和 Score 放在 DynamicMapAttribute 中,但在增加/减少它时,DynamoDB 似乎不允许对地图元素这样做。
我尝试创建如下所示的 DynamicMapAttribute 实例,但仍然不知道如何对属性执行递增/递减等操作。
但是然后我如何在不检索它的情况下增加/减少值并添加它(这反过来又无法达到ADD的目的)
任何想法?
PS:我不能在这里做这样的事情,哪里a_date_time/a_number
是静态的。https://github.com/pynamodb/PynamoDB/blob/58ff97f42f3ed1e546335e6b86f943ca3c23f7f3/pynamodb/attributes.py#L1000
python-3.x - Pynamodb - 对列表的 Map 成员进行添加/更新操作
我有一个pynamodb
如下所示的模型,
而且,我正在更新根属性,如下所示,
有没有办法TicketInfo.ticketCount
像我们添加/更新一样添加/更新AccessTicketMetrics.totalUniqueTickets
?
transactions - PynamoDB TransactWrite 更新抛出 ValidationException
我有一个看起来像这样的模型:
控制器代码:
transaction.update 总是以 ValidationException 失败。不确定是什么问题。如果有一种方法可以了解 ValidationException 发生在哪里,那会很棒,因为我看到的只是“任务错误 ValidationException”,因此不知道哪个字段导致了问题。
python - PynamoDB query() 返回 0 值,而 scan() 确实
我已经声明了一个非常基本的模型并测试了查询和其他功能。我可以运行scan()
并从 dynamoDB 中获取所有对象,但是当我运行时,query
我什么也得不到。我查看了示例、文档并在互联网上进行了搜索。无法弄清楚我做错了什么。
这是我的模型:
这是我作为示例编写的代码:
如果我boto3
用来获取该项目,我可以获取它。
我不知道为什么通过访问boto3
是有效的,但不是通过 pynamoDB。任何指导将不胜感激。
amazon-dynamodb - PynamoDB - 索引未找到元素
我还想通过用户名从我的 DynamoDB 用户表(其中 account_sid 是 hash_key)中检索用户。所以我创建了一个索引,如:
并查询它我正在使用:
然而,即使扫描操作检索 0 个元素,而我可以使用 cli 检索它们:
注意:我使用 localstack 在端口 4567 上本地模拟 DynamoDB 服务。
django - 在 Django 管理面板中显示 DynamoDB 数据
我想在 Django 管理面板页面上显示来自 DynamoDB 的数据。我已尝试使用 PynamoDB 创建模型并将其注册到管理面板。
我面临以下两个问题:
仅从 DynamoDB 表中获取属性“id”而不是所有属性。我在使用 boto3 从 DynamoDB 表中获取属性定义时确认了这个问题。
attribute_definitions = table_name.attribute_definitions
我面临的第二个问题是在使用管理面板注册创建的模型(通过使用 PynamoDB)时出现错误。我明白了
“TypeError:‘MetaModel’对象不可迭代”
python-3.x - DynamoDB 中的批量写入操作是否使用多线程策略?
我正在将条目写入 DynamoDB 表:
我怀疑这很慢,所以我正在考虑使用多线程策略,例如concurrent.futures
将每个条目写入表:
但是,我在 PynamoDB 的文档中发现了这种批量写入的方法。看起来这是一种加速写入操作的便捷方式。
它是否也使用多线程策略?
PynamoDB 实现是否比concurrent.futures
用于批量写入更好?
python - MapAttribute 的 PynamoDB 动态名称
我目前有点卡住了。我必须使用 pynamodb 创建我们的 dynamodb 模型,这就是我所拥有的(更大模型的一部分,从 DB 中的真实用户导出)
这是我到目前为止得到的:
目前我认为我正确地起床,直到"4":
等"5":
......因为它们是练习名称。这个想法是这个结构应该代表一个包列表,然后在一个带有它们的 id 和更多信息的练习列表中......我需要一种方法将它从当前的 db json 映射到我可以与 PynamoDB 一起使用的类. 甚至可能吗?
谢谢!
我已经尝试过DynamicMapAttribute
,但我不知道它是否适用于我的配置。我也不知道如何使用自定义属性来克服这个问题。