第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

在Django中添加對父模型抽象保存方法保存方法的操作

在Django中添加對父模型抽象保存方法保存方法的操作

繁華開滿天機(jī) 2023-02-07 14:20:11
我創(chuàng)建基礎(chǔ)模型并在我的所有模型中繼承它。這是我的BaseModel:class BaseModel(models.Model):    create_date = models.DateTimeField(auto_now_add=True)    update_date = models.DateTimeField(auto_now=True)    created_by = models.ForeignKey('UserManager.User', default=1, on_delete=models.SET_DEFAULT,related_name='created_%(class)ss')    updated_by = models.ForeignKey('UserManager.User', default=1, on_delete=models.SET_DEFAULT,related_name='updated_%(class)ss')    class Meta:        abstract = True        ordering = ['create_date']    def save(self, *args, **kwargs):        self.user = kwargs.pop('user', None)        if self.user:            if self.user.pk is None:                self.created_by = self.user            self.updated_by = self.user        super(BaseModel, self).save(*args, **kwargs)現(xiàn)在,我想向save其中一個(gè)子模型的方法添加一些操作,如下所示:class Child(BaseModel):    # Some fields go here.     def save(self, *args, **kwargs):        # Some operations must run here. 但是savechild model的method已經(jīng)跑不起來了!如何將子模型的保存方法與abastract=True模型的保存方法一起使用?
查看完整描述

1 回答

?
翻過高山走不出你

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊

如果你從BaseModel繼承ChildModel,當(dāng)你到達(dá)BaseModel'self.save方法時(shí)。' 仍然是 ChildModel。所以它找到了Child的super,也就是BaseModel,所以調(diào)用了BaseModel中的save。

所以只要打電話,

super(ChildModel, self).save(*args, **kwargs)


查看完整回答
反對 回復(fù) 2023-02-07
  • 1 回答
  • 0 關(guān)注
  • 119 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號