是否有一种简单的方法可以在获取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(),我试过但是没有能够得到任何工作。它也不是最好的解决方案,因为它取代了整行,而不仅仅是一个字段。
我喜欢小便,使用起来非常简单快捷,但我找不到很多完整的例子而且很遗憾
答案 0 :(得分:0)
新手的错误
item.update_date = datetime.now()
我并非100%确定这是唯一的答案。我修改了我的代码很多次,它也可能是其他东西。
关于我关于create_or_update的问题,我已经这样做了:
try:
Item.create(...)
except IntegrityError:
Item.update(...)
peewee真的很棒,我想知道为什么没有人要求过create_or_update。