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

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

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

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

開始時,覺得是沒有添加事務,所以同時更新兩個不同的表,其中一個表的內(nèi)容沒有寫進去;加了事務后,又出現(xiàn)這種問題。

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

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

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

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

解決辦法:

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

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

補充知識:Django models.save()的問題

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

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

EX:

我們這里通過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ù)庫
          #這里的is_valid()是Django默認的,檢查是否正確
        if seatform.is_valid():
          # 這里向數(shù)據(jù)庫新增一條信息,然后保存
          getSeat = Seat.objects.create(dateTime=date, classtime=time, status='0', user=name, number=label)
          getSeat.save()

上面的SeatForm()是我們在與views.py同級目錄下創(chuàng)建的forms.py

forms.py

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

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

以上這篇Django 解決由save方法引發(fā)的錯誤就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 使用python根據(jù)端口號關閉進程的方法

    使用python根據(jù)端口號關閉進程的方法

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

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

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

    Python操作csv文件實例詳解

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

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

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

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

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

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

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

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

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

    python 爬蟲如何正確的使用cookie

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

    使用python模擬高斯分布例子

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

    Python?Decorator的設計模式演繹過程解析

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

最新評論

马龙县| 陵川县| 九江市| 林口县| 常熟市| 高密市| 荣昌县| 宣城市| 敦煌市| 兴宁市| 浙江省| 大余县| 那曲县| 兴业县| 济南市| 武定县| 安庆市| 荣成市| 普兰县| 中超| 开远市| 新巴尔虎右旗| 梁平县| 沙坪坝区| 左权县| 海口市| 阳高县| 缙云县| 开化县| 东乌珠穆沁旗| 甘肃省| 大埔区| 会理县| 班戈县| 疏附县| 大英县| 高青县| 海丰县| 辽阳县| 淳安县| 金川县|