0

有没有一种简单的方法来更新 get_or_create 的字段?我有一个 ItemCategory 类,我想创建一个新条目或获取已创建的条目并更新一个字段(update_date)。我要做的是:

item,created= ItemCategory.get_or_create(cat=cat_id,item=item_id)
if created == True:
     print "created"
else:
     item.update_date = datetime.now
     item.somethingelse = 'aaa'
     item.save()

这在我的循环中工作了一段时间。但是在 50-100 get/create 之后它崩溃了:

peewee.InterfaceError:错误绑定参数 4 - 可能是不受支持的类型。

也许我应该使用 upsert(),我尝试过但没有任何效果。此外,它可能不是最好的解决方案,因为它替换了整行,而不仅仅是一个字段。

我喜欢peewee,它使用起来非常简单快捷,但是我找不到很多完整的例子,很遗憾

4

1 回答 1

1

新手错误

item.update_date = datetime.now()

我不是 100% 确定这是唯一的答案。我修改了我的代码很多次,它可能也是别的东西。

关于我关于 create_or_update 的问题,我已经这样做了:

try:
    Item.create(...)
except IntegrityError:
    Item.update(...)

peewee 真的很棒,我想知道为什么没有人要求 create_or_update。

于 2016-08-23T07:14:28.187 回答