2016-08-18 61 views
0

有沒有簡單的方法來更新獲取get_or_create上的字段? 我有一個類ItemCategory,我想創建一個新的條目或獲取已經創建的條目並更新一個字段(update_date)。 我的工作是:peewee get_or_create然後保存:錯誤綁定

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 /創建崩潰:

peewee.InterfaceError: Error binding parameter 4 - probably unsupported type.

也許我應該使用的upsert(),我試過,但沒能得到任何工作。這也不是最好的解決方案,因爲它取代了整個行而不僅僅是一個字段。

我喜歡peewee,它很容易和快速的使用,但我無法找到許多充滿例子,這是一個遺憾

回答

0

新手錯誤

item.update_date = datetime.now() 

我不是100%肯定這是但唯一的答案。我修改了我的代碼很多次,以至於它也可能是其他的東西。

關於我對create_or_update的問題,我已經做到了這一點:

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

peewee真的很大,我不知道爲什麼沒有人要了create_or_update。