peewee get_or_create然后保存:错误绑定

时间:2016-08-18 18:03:34

标签: peewee flask-peewee

是否有一种简单的方法可以在获取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获得/创建后崩溃:

  

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

也许我应该使用upsert(),我试过但是没有能够得到任何工作。它也不是最好的解决方案,因为它取代了整行,而不仅仅是一个字段。

我喜欢小便,使用起来非常简单快捷,但我找不到很多完整的例子而且很遗憾

1 个答案:

答案 0 :(得分:0)

新手的错误

item.update_date = datetime.now()

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

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

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

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