最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2020年05月21日 11:14:08   作者:python_tty  
這篇文章主要介紹了Django 解決由save方法引發(fā)的錯(cuò)誤,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

最近項(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è)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用python根據(jù)端口號(hào)關(guān)閉進(jìn)程的方法

    使用python根據(jù)端口號(hào)關(guān)閉進(jìn)程的方法

    今天小編就為大家分享一篇使用python根據(jù)端口號(hào)關(guān)閉進(jìn)程的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • 提升Python編程效率的列表操作方法示例

    提升Python編程效率的列表操作方法示例

    這篇文章主要為大家介紹了提升Python編程效率的列表操作方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • Python操作csv文件實(shí)例詳解

    Python操作csv文件實(shí)例詳解

    這篇文章主要為大家詳細(xì)介紹了Python操作csv文件的實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • python實(shí)現(xiàn)合并兩個(gè)數(shù)組的方法

    python實(shí)現(xiàn)合并兩個(gè)數(shù)組的方法

    這篇文章主要介紹了python實(shí)現(xiàn)合并兩個(gè)數(shù)組的方法,實(shí)例分析了兩種常用的合并數(shù)組的技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下
    2015-05-05
  • python中時(shí)間、日期、時(shí)間戳的轉(zhuǎn)換的實(shí)現(xiàn)方法

    python中時(shí)間、日期、時(shí)間戳的轉(zhuǎn)換的實(shí)現(xiàn)方法

    這篇文章主要介紹了python中時(shí)間、日期、時(shí)間戳的轉(zhuǎn)換的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python 實(shí)戰(zhàn)開(kāi)發(fā)校園管理系統(tǒng)詳細(xì)流程

    Python 實(shí)戰(zhàn)開(kāi)發(fā)校園管理系統(tǒng)詳細(xì)流程

    讀萬(wàn)卷書(shū)不如行萬(wàn)里路,只學(xué)書(shū)上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Python開(kāi)發(fā)一套校園管理系統(tǒng),包含各種人員,如教師、學(xué)生等。學(xué)校的系統(tǒng)通常還包括一些課程的信息,大家可以在過(guò)程中查缺補(bǔ)漏,提升水平
    2021-10-10
  • 關(guān)于Python排序sort()函數(shù)和sorted()函數(shù)

    關(guān)于Python排序sort()函數(shù)和sorted()函數(shù)

    這篇文章主要介紹了關(guān)于Python排序sort()函數(shù)和sorted()函數(shù),利用Python中的內(nèi)置函數(shù)去實(shí)現(xiàn)直接排序,需要的朋友可以參考下
    2023-04-04
  • python 爬蟲(chóng)如何正確的使用cookie

    python 爬蟲(chóng)如何正確的使用cookie

    這篇文章主要介紹了python 爬蟲(chóng)如何使用cookie,幫助大家繞過(guò)網(wǎng)站設(shè)置的登錄規(guī)則以及登錄時(shí)的驗(yàn)證碼識(shí)別,完成自身的爬取需求,感興趣的朋友可以了解下
    2020-10-10
  • 使用python模擬高斯分布例子

    使用python模擬高斯分布例子

    今天小編就為大家分享一篇使用python模擬高斯分布例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • Python?Decorator的設(shè)計(jì)模式演繹過(guò)程解析

    Python?Decorator的設(shè)計(jì)模式演繹過(guò)程解析

    本文主要梳理了Python?decorator的實(shí)現(xiàn)思路,解釋了為什么Python?decorator是現(xiàn)在這個(gè)樣子,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07

最新評(píng)論

清河县| 东安县| 西丰县| 包头市| 丘北县| 天祝| 包头市| 淮安市| 资兴市| 内黄县| 万载县| 巴南区| 营山县| 大悟县| 益阳市| 上犹县| 廉江市| 苍梧县| 慈利县| 安福县| 二连浩特市| 门头沟区| 怀仁县| 阿荣旗| 乡城县| 洪湖市| 仪征市| 尼勒克县| 大方县| 林口县| 广西| 沂水县| 新沂市| 阳高县| 正安县| 盐城市| 澄迈县| 武清区| 垦利县| 上林县| 三原县|