中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決django數據庫get_or_create函數返回值是tuple的問題

發布時間:2020-07-27 11:32:20 來源:億速云 閱讀:248 作者:小豬 欄目:開發技術

這篇文章主要講解了如何解決django數據庫get_or_create函數返回值是tuple的問題,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

get_or_create函數比較好用。

如果查詢到就返回,如果沒查詢到就向數據庫加入新的對象。

e.g.

size = Size.objects.get_or_create(sizeName=size_text)

注意:返回的是tuple,:(對象, 是否是創建的)

e.g. (size, created)

補充知識:Django update_or_create 注意事項

需求: model 修改數據庫數據,數據存在則更新,不存在則保存

update_or_create 用法:

update_or_create(defaults=None, **kwargs)

kwargs: 來更新對象或創建一個新的對象。

defaults: 是由 (field, value) 對組成的字典,用于更新對象。

返回一個由 (object, created)組成的元組,

object: 是一個創建的或者是被更新的對象,

created: 是一個標示是否創建了新的對象的布爾值。

update_or_create: 方法通過給出的kwarg

try:
  obj = Person.objects.get(first_name='John', last_name='Lennon')
  for key, value in updated_values.iteritems():
    setattr(obj, key, value)
  obj.save()
except Person.DoesNotExist:
  updated_values.update({'first_name': 'John', 'last_name': 'Lennon'})
  obj = Person(**updated_values)
  obj.save()
# 如果模型的字段數量較大的話,這種模式就變的非常不易用。上面的示例可以用 update_or_create() 重寫:
obj, created = Person.objects.update_or_create(
  first_name='John', last_name='Lennon', defaults=updated_values)

看完上述內容,是不是對如何解決django數據庫get_or_create函數返回值是tuple的問題有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

商城县| 旺苍县| 新绛县| 綦江县| 内黄县| 长沙县| 介休市| 金平| 原阳县| 姜堰市| 新乐市| 新邵县| 广汉市| 松滋市| 双峰县| 陇川县| 新野县| 石景山区| 泰和县| 吐鲁番市| 浮山县| 防城港市| 华蓥市| 洛扎县| 惠州市| 通城县| 五大连池市| 芮城县| 凤山市| 南川市| 永平县| 合山市| 德化县| 苍南县| 宿迁市| 洮南市| 漳浦县| 文水县| 阿拉善盟| 亚东县| 安平县|