gpt4 book ai didi

python - Django 插入查询出现重复导致的错误

转载 作者:太空宇宙 更新时间:2023-11-03 21:28:52 25 4
gpt4 key购买 nike

我正在尝试将一些数据添加到 Django 制作的表中。

这是我的代码:

class Prefixe(models.Model):
remote_as = models.CharField(max_length=250)
prefix_list = models.CharField(max_length=250, unique=True)


def insert():
p = Prefixe(remote_as='Apress', prefix_list='Berkeley')
p.save()

我正在使用 ORM 创建记录,但失败并出现“重复”异常(请参阅 prefix_list 定义中的 unique 选项)。

但是,如果我使用特定的 PG 选项将插入作为原始 SQL 进行插入,则有一种方法可以避免此异常:

INSERT INTO "peer_table" ("remote_as","prefix_list")
VALUES('{}','{}')
ON CONFLICT DO NOTHING

通过 ORM 工作时,我可以避免由重复引起的异常吗?

最佳答案

您的代码可以受益于使用方法 .get_or_create() :

def insert(remote_as, prefix_list):
p, was_created = Prefixe.objects.get_or_create(
remote_as=remote_as, prefix_list=prefix_list)

if was_create:
print('a new instance was created.')
else:
print('the instance already exists.')

关于python - Django 插入查询出现重复导致的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53665139/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com