首页 > 解决方案 > 如果不创建并插入行,请检查 PostgreSQL 中是否存在行

问题描述

我想知道是否有办法检查数据库中是否存在一行,我正在使用 API,我将添加一个脚本,该脚本将每 24 小时运行一次以从包含数据的页面收集数据来自许多公司,但是如果我今天和明天运行脚本,例如有可能收集几乎相同的数据和新的数据,所以我需要摆脱这些,使用 COUNT 是个好主意还是应该使用 if 语句?

我将此 json 数据添加到我的数据库中:

{
OrgName: name,
Direction: Street 123
City: cityname
Lat: 13.123123
Lon: 12.123123
Code: XC23-123D
}

如前所述,数据可以在所有键中重复,但不能在代码中重复,code=unique会解决问题吗?

标签: pythondjangodatabasepostgresql

解决方案


您可以使用

get_or_create(defaults=data)

当您想要获取数据并在 db 上进行设置时。访问 django 文档: https ://docs.djangoproject.com/en/3.1/ref/models/querysets/#get-or-create


推荐阅读