电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Django 解決由save方法引發(fā)的錯(cuò)誤

瀏覽:4日期:2024-10-01 09:40:57

最近項(xiàng)目中的資產(chǎn)的任務(wù)狀態(tài)頻頻出現(xiàn)問(wèn)題,查看日志文件,看代碼邏輯,也沒(méi)發(fā)現(xiàn)什么具體的錯(cuò)誤,總是過(guò)段時(shí)間就會(huì)出現(xiàn)一個(gè)表的字段沒(méi)有更新的問(wèn)題,很頭疼。

開(kāi)始時(shí),覺(jué)得是沒(méi)有添加事務(wù),所以同時(shí)更新兩個(gè)不同的表,其中一個(gè)表的內(nèi)容沒(méi)有寫(xiě)進(jìn)去;加了事務(wù)后,又出現(xiàn)這種問(wèn)題。

后來(lái)看代碼,發(fā)現(xiàn)有兩個(gè)線程在同一時(shí)間先后修改同一個(gè)表,問(wèn)題來(lái)了,django的save()會(huì)更新所有的字段。

舉個(gè)例子,我有兩個(gè)線程分別修改User表,thread1修改User表的name字段,thread2修改User表的email字段。

在同一個(gè)時(shí)間,這兩個(gè)線程獲取了相同的User實(shí)例, 這個(gè)時(shí)候同一個(gè)實(shí)例有兩份緩存,thread1修改了name字段,email字段不變;

thread2修改了email字段,name字段不變,這樣出來(lái)的結(jié)果不是我們所設(shè)想的那樣,name和email字段都會(huì)改變,實(shí)際上改變的只有email字段,name字段被thread2線程又寫(xiě)回來(lái)了。

解決辦法:

save()函數(shù)加一個(gè)update_fields參數(shù)就好了。每一次保存的時(shí)候?qū)懮弦碌淖侄?/p>

use.save(update_fields=['name'])

補(bǔ)充知識(shí):Django models.save()的問(wèn)題

Django views.py 引用models.py進(jìn)行modles.objects.create()然后進(jìn)行.save的問(wèn)題。

我們是不能直接進(jìn)行保存的,提交到數(shù)據(jù)庫(kù)里面的。

EX:

我們這里通過(guò)post獲取到信息后。

views.py

def post(self, request, ab=None, all_seat=None): # 獲取用戶信息 date = request.POST.get(’date’) time = request.POST.get(’time’)

然后

views.py

seatform = SeatForm(request.POST) # 提交給數(shù)據(jù)庫(kù) #這里的is_valid()是Django默認(rèn)的,檢查是否正確if seatform.is_valid(): # 這里向數(shù)據(jù)庫(kù)新增一條信息,然后保存 getSeat = Seat.objects.create(dateTime=date, classtime=time, status=’0’, user=name, number=label) getSeat.save()

上面的SeatForm()是我們?cè)谂cviews.py同級(jí)目錄下創(chuàng)建的forms.py

forms.py

class SeatForm(forms.Form):#注意這里的date和time需要與前端的命名要一直 date = forms.CharField() time = forms.CharField()

通過(guò)這樣的方法,我們就可以保存到數(shù)據(jù)庫(kù)了。

以上這篇Django 解決由save方法引發(fā)的錯(cuò)誤就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Django
相關(guān)文章:
主站蜘蛛池模板: 天津仓储物流-天津电商云仓-天津云仓一件代发-博程云仓官网 | 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | 工业插头-工业插头插座【厂家】-温州罗曼电气 | 脱硝喷枪-氨水喷枪-尿素喷枪-河北思凯淋环保科技有限公司 | PCB接线端子_栅板式端子_线路板连接器_端子排生产厂家-置恒电气 喷码机,激光喷码打码机,鸡蛋打码机,手持打码机,自动喷码机,一物一码防伪溯源-恒欣瑞达有限公司 假肢-假肢价格-假肢厂家-河南假肢-郑州市力康假肢矫形器有限公司 | 数显水浴恒温振荡器-分液漏斗萃取振荡器-常州市凯航仪器有限公司 | 金属抛光机-磁悬浮抛光机-磁力研磨机-磁力清洗机 - 苏州冠古科技 | 对夹式止回阀_对夹式蝶形止回阀_对夹式软密封止回阀_超薄型止回阀_不锈钢底阀-温州上炬阀门科技有限公司 | 美的商用净水器_美的直饮机_一级代理经销商_Midea租赁价格-厂家反渗透滤芯-直饮水批发品牌售后 | 无线联网门锁|校园联网门锁|学校智能门锁|公租房智能门锁|保障房管理系统-KEENZY中科易安 | 苏州西装定制-西服定制厂家-职业装定制厂家-尺品服饰西装定做公司 | 旗杆生产厂家_不锈钢锥形旗杆价格_铝合金电动旗杆-上海锥升金属科技有限公司 | 不锈钢钢格栅板_热浸锌钢格板_镀锌钢格栅板_钢格栅盖板-格美瑞 | 辊道窑炉,辊道窑炉厂家-山东艾希尔 | MTK核心板|MTK开发板|MTK模块|4G核心板|4G模块|5G核心板|5G模块|安卓核心板|安卓模块|高通核心板-深圳市新移科技有限公司 | 桁架机器人_桁架机械手_上下料机械手_数控车床机械手-苏州清智科技装备制造有限公司 | 锡膏喷印机-全自动涂覆机厂家-全自动点胶机-视觉点胶机-深圳市博明智控科技有限公司 | 电动葫芦|手拉葫芦|环链电动葫芦|微型电动葫芦-北京市凌鹰起重机械有限公司 | 档案密集架,移动密集架,手摇式密集架,吉林档案密集架-厂家直销★价格公道★质量保证 | 并网柜,汇流箱,电控设备,中高低压开关柜,电气电力成套设备,PLC控制设备订制厂家,江苏昌伟业新能源科技有限公司 | 车件|铜件|车削件|车床加工|五金冲压件-PIN针,精密车件定制专业厂商【东莞品晔】 | 杭州厂房降温,车间降温设备,车间通风降温,厂房降温方案,杭州嘉友实业爽风品牌 | 单机除尘器 骨架-脉冲除尘器设备生产厂家-润天环保设备 | 新型锤式破碎机_新型圆锥式_新型颚式破碎机_反击式打沙机_锤式制砂机_青州建源机械 | 塑钢课桌椅、学生课桌椅、课桌椅厂家-学仕教育设备首页 | 四川实木门_成都实木门 - 蓬溪聚成门业有限公司| 纸布|钩编布|钩针布|纸草布-莱州佳源工艺纸布厂 | 安全光栅|射频导纳物位开关|音叉料位计|雷达液位计|两级跑偏开关|双向拉绳开关-山东卓信机械有限公司 | 重庆波纹管|重庆钢带管|重庆塑钢管|重庆联进管道有限公司 | 东莞螺丝|东莞螺丝厂|东莞不锈钢螺丝|东莞组合螺丝|东莞精密螺丝厂家-东莞利浩五金专业紧固件厂家 | 山东彩钢板房,山东彩钢活动房,临沂彩钢房-临沂市贵通钢结构工程有限公司 | 氧氮氢联合测定仪-联测仪-氧氮氢元素分析仪-江苏品彦光电 | 冷柜风机-冰柜电机-罩极电机-外转子风机-EC直流电机厂家-杭州金久电器有限公司 | 碳钢法兰厂家,非标法兰,定制异型,法兰生产厂家-河北九瑞管道 | 济南品牌设计-济南品牌策划-即合品牌策划设计-山东即合官网 | 电子海图系统-电梯检验系统-智慧供热系统开发-商品房预售资金监管系统 | 济南律师,济南法律咨询,山东法律顾问-山东沃德律师事务所 | 包头市鑫枫装饰有限公司| 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 食品级焦亚硫酸钠_工业级焦亚硫酸钠_焦亚硫酸钠-潍坊邦华化工有限公司 | 石家庄救护车出租_重症转院_跨省跨境医疗转送_活动赛事医疗保障_康复出院_放弃治疗_腾康26年医疗护送转诊团队 |