【发布时间】:2014-07-25 20:27:26
【问题描述】:
我的 django 模型中有以下内容,我将其与 PostgresSql 一起使用
class Business(models.Model):
location = models.CharField(max_length=200,default="")
name = models.CharField(max_length=200,default="",unique=True)
在我看来,我有:
for b in bs:
try:
p = Business(**b)
p.save()
except IntegrityError:
pass
当应用程序运行并触发 IntegrityError 时,我想获取已插入的记录以及触发错误的对象(我假设为“p”)并更新位置字段。
在伪代码中:
for b in bs:
try:
p = Business(**b)
p.save()
except IntegrityError:
EXISTING_RECORD.location = EXISTING_RECORD.location + p.location
EXISTING_RECORD.save()
这在 django 中是如何完成的?
【问题讨论】:
-
这是您的整个模型,还是您简化以使问题更容易?或者更直接地说……如果两个企业名称相同,是否唯一会导致完整性错误?
-
嗨 Foon,这是简化的,但 name 是唯一的唯一键(id 除外)- Bill
标签: python django postgresql