【发布时间】:2019-07-30 14:48:49
【问题描述】:
我有一个使用自定义设置的非整数主键的 peewee 模型:
class User(BaseModel):
email = CharField(primary_key=True)
full_name = CharField()
# other properties go here
现在,一些用户的保存不正确,所以我必须更新他们的电子邮件地址。但是,运行一个简单的save 不起作用:
>>> u = User.get(email='wrong@bad.is')
>>> u.email = 'correct@good.is'
>>> u.save()
这将返回 0 并且不执行任何操作。除了删除旧记录并创建新记录之外,有什么方法可以更新主键值?
注意:由于数据导入错误,这是一次性操作。作为一般规则,电子邮件地址不会被更新,这就是它们被用作主键的原因
【问题讨论】:
标签: python sqlite data-modeling peewee