django 數(shù)據(jù)庫 get_or_create函數(shù)返回值是tuple的問題
get_or_create函數(shù)比較好用。
如果查詢到就返回,如果沒查詢到就向數(shù)據(jù)庫加入新的對象。
e.g.
size = Size.objects.get_or_create(sizeName=size_text)
注意:返回的是tuple,:(對象, 是否是創(chuàng)建的)
e.g. (size, created)
補(bǔ)充知識:Django update_or_create 注意事項(xiàng)
需求: model 修改數(shù)據(jù)庫數(shù)據(jù),數(shù)據(jù)存在則更新,不存在則保存
update_or_create 用法:
update_or_create(defaults=None, **kwargs)
kwargs: 來更新對象或創(chuàng)建一個(gè)新的對象。
defaults: 是由 (field, value) 對組成的字典,用于更新對象。
返回一個(gè)由 (object, created)組成的元組,
object: 是一個(gè)創(chuàng)建的或者是被更新的對象,
created: 是一個(gè)標(biāo)示是否創(chuàng)建了新的對象的布爾值。
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() # 如果模型的字段數(shù)量較大的話,這種模式就變的非常不易用。上面的示例可以用 update_or_create() 重寫: obj, created = Person.objects.update_or_create( first_name='John', last_name='Lennon', defaults=updated_values)
以上這篇django 數(shù)據(jù)庫 get_or_create函數(shù)返回值是tuple的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Django ForeignKey與數(shù)據(jù)庫的FOREIGN KEY約束詳解
- django 解決model中類寫不到數(shù)據(jù)庫中,數(shù)據(jù)庫無此字段的問題
- Python的Django框架實(shí)現(xiàn)數(shù)據(jù)庫查詢(不返回QuerySet的方法)
- django 數(shù)據(jù)庫返回queryset實(shí)現(xiàn)封裝為字典
- django 連接數(shù)據(jù)庫出現(xiàn)1045錯(cuò)誤的解決方式
- 使用Django清空數(shù)據(jù)庫并重新生成
- Django生成數(shù)據(jù)庫及添加用戶報(bào)錯(cuò)解決方案
相關(guān)文章
Python基礎(chǔ)實(shí)戰(zhàn)總結(jié)
今天要給大家介紹的是Python基礎(chǔ)實(shí)戰(zhàn),本文主要以舉例說明講解:問題的關(guān)鍵點(diǎn)就是在于構(gòu)造姓名,學(xué)號和成績,之后以字典的形式進(jìn)行寫入文件。這里準(zhǔn)備兩個(gè)列表,一個(gè)姓,一個(gè)名,之后使用random庫進(jìn)行隨機(jī)字符串拼接,得到姓名,需要的朋友可以參考一下2021-10-10Python如何寫入Pandas DataFrame到CSV文件
Pandas是一個(gè)功能強(qiáng)大的Python數(shù)據(jù)分析庫,常用于處理和分析數(shù)據(jù),CSV文件是一種廣泛使用的數(shù)據(jù)交換格式,Pandas通過to_csv方法支持將DataFrame寫入CSV文件,此方法允許用戶指定分隔符、編碼和選擇性寫入特定列等2024-09-09opencv 圖像禮帽和圖像黑帽的實(shí)現(xiàn)
這篇文章主要介紹了opencv 圖像禮帽和圖像黑帽的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07python多進(jìn)程(加入進(jìn)程池)操作常見案例
這篇文章主要介紹了python多進(jìn)程(加入進(jìn)程池)操作,結(jié)合常見案例形式分析了Python多進(jìn)程復(fù)制文件、加入進(jìn)程池及多進(jìn)程聊天等相關(guān)操作技巧,需要的朋友可以參考下2019-10-10Python去除html標(biāo)簽的幾種方法總結(jié)
這篇文章主要介紹了Python去除html標(biāo)簽的幾種方法總結(jié),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01Python編程利用科赫曲線實(shí)現(xiàn)三維飄雪效果示例過程
這篇文章主要介紹了Python編程實(shí)現(xiàn)三維飄雪效果示例過程,通過本示例你可以自己做出一個(gè)浪漫的雪花飄落效果,有需要的朋友可以借鑒參考下2021-10-10Python OpenCV處理圖像之圖像像素點(diǎn)操作
這篇文章主要為大家詳細(xì)介紹了Python OpenCV處理圖像之圖像像素點(diǎn)操作,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07詳解Python的數(shù)據(jù)庫操作(pymysql)
這篇文章主要介紹了Python的數(shù)據(jù)庫操作(pymysql),非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-04-04