亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Django:將多個保存合并到一個數據庫操作中

Django:將多個保存合并到一個數據庫操作中

白衣非少年 2023-07-11 16:24:22
我有一個這樣的函數 - 有沒有辦法包裝這個函數,以便將兩個保存合并為一個?    def foobar(self, created_at=None):        changed = False        if created_at:            changed = True            self. created_at = created_at            self.save()        if self.active:            changed = True            self.active = False            self.save()        return self我不取消縮進的原因self.save()是為了避免updated_at在沒有發生更改的情況下更新對象上的字段。
查看完整描述

1 回答

?
慕妹3242003

TA貢獻1824條經驗 獲得超6個贊

self.save()僅當changedisTrue位于子句末尾時,您才能執行 a if:


def foobar(self, created_at=None):

    changed = False

    if created_at:

        changed = True

        self.created_at = created_at

    if self.active:

        changed = True

        self.active = False

    

    if changed:

        self.save()

    return self

因此,只有當兩個子句之一if觸發時,它才會設置changed為True。僅當changed設置為時True,我們才保存對象。crated_at因此,如果和都是真實的,我們在這里避免了與數據庫的額外往返self.active。


查看完整回答
反對 回復 2023-07-11
  • 1 回答
  • 0 關注
  • 98 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號