peewee get_or_create 然后保存:错误绑定
peewee get_or_create and then save: error binding
有没有一种简单的方法可以在获取 get_or_create 时更新字段?
我有一个 class 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: Error binding parameter 4 - probably unsupported type.
也许我应该使用 upsert(),我试过了,但没有任何效果。而且它可能不是最好的解决方案,因为它替换了整行而不是仅仅替换了一个字段。
我喜欢peewee,它使用起来非常简单快捷,但是我找不到很多完整的例子,很遗憾
新手错误
item.update_date = datetime.now()
虽然我不是 100% 确定这是唯一的答案。我修改了我的代码很多次,它可能也是别的东西。
关于我关于 create_or_update 的问题,我已经这样做了:
try:
Item.create(...)
except IntegrityError:
Item.update(...)
peewee 真的很棒,我想知道为什么没有人要 create_or_update。
有没有一种简单的方法可以在获取 get_or_create 时更新字段? 我有一个 class 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: Error binding parameter 4 - probably unsupported type.
也许我应该使用 upsert(),我试过了,但没有任何效果。而且它可能不是最好的解决方案,因为它替换了整行而不是仅仅替换了一个字段。
我喜欢peewee,它使用起来非常简单快捷,但是我找不到很多完整的例子,很遗憾
新手错误
item.update_date = datetime.now()
虽然我不是 100% 确定这是唯一的答案。我修改了我的代码很多次,它可能也是别的东西。
关于我关于 create_or_update 的问题,我已经这样做了:
try:
Item.create(...)
except IntegrityError:
Item.update(...)
peewee 真的很棒,我想知道为什么没有人要 create_or_update。