【发布时间】:2018-03-01 07:32:52
【问题描述】:
我想知道如何运行一个查询,仅当项目不存在时才将其插入数据库。我使用 json 作为实体,所以它们看起来像这样:
class Person(db.Entity):
json = Required(Json)
name = "Alice"
if not Person.exists(lambda person: person['name'] == name):
Person(json={'name': name, """ lots more fields """})
但这似乎执行了两个查询,从而减慢了操作速度。理想情况下,我想要类似的东西
Person.insert_if_not_exists(json={...})
这可能吗?
【问题讨论】:
-
你为什么要在数据库中插入一个json对象?
-
使用 mixin 就行了:stackoverflow.com/a/42797438/1279003