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

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

表單從模型接收舊數(shù)據(jù)

表單從模型接收舊數(shù)據(jù)

一只萌萌小番薯 2022-06-07 18:00:22
我的表單應(yīng)該從模型中存儲(chǔ)的最新條目中接收初始值。但是,如果我通過(guò)管理面板編輯或刪除模型數(shù)據(jù),表單中顯示的初始數(shù)據(jù)將保持不變(盡管它在模型中已被刪除)。我對(duì)自己做錯(cuò)了什么感到困惑。起初我以為是 Chrome 保存舊數(shù)據(jù),但用ctr+shift+r.我的forms.py:from stv.models import BazineKaina,class DrgSkaiciuokle(forms.Form):    bazine_kaina = forms.DecimalField(max_digits=5, decimal_places=2, required=True,                                      label="?veskite bazin? kain?:",                                      initial= BazineKaina.objects.latest('data'),                                      )    def clean_bazine_kaina(self):        bazine_kaina = self.cleaned_data['bazine_kaina']        return bazine_kaina我的模型.py:class BazineKaina(models.Model):    bazka = models.DecimalField(max_digits=5, decimal_places=2)    data = models.DateField(auto_now=False, auto_now_add=True)    def __str__(self):        return str(self.bazka)    class Meta:        verbose_name_plural = "Bazin? kaina"        get_latest_by = 'data'請(qǐng)幫我找出為什么仍然通過(guò)表單接收舊數(shù)據(jù)?編輯:我發(fā)現(xiàn),如果我重新啟動(dòng)服務(wù)器數(shù)據(jù)將被刷新,但這不能成為生產(chǎn)中的解決方案。如何讓表單每次調(diào)用時(shí)都獲取新數(shù)據(jù)?
查看完整描述

2 回答

?
慕的地6264312

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

DrgSkaiciuokle是在 Django 啟動(dòng)時(shí)導(dǎo)入的,然后實(shí)例化任何類屬性。因此,當(dāng)您或啟動(dòng)您的 Django 工作人員.latest()時(shí)會(huì)執(zhí)行一次查詢,并且不會(huì)再更改。runserverinitial

initial在表單的方法中設(shè)置,__init__以便在每次實(shí)例化表單時(shí)調(diào)用它。


查看完整回答
反對(duì) 回復(fù) 2022-06-07
?
開滿天機(jī)

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

根據(jù)dirkgroten 的建議和這個(gè)來(lái)源,我找到了完整的解決方案:


表格.py:


class DrgSkaiciuokle(forms.Form):


    bazine_kaina = forms.DecimalField(max_digits=5, decimal_places=2, required=True,

                                      label="?veskite bazin? kain?:",

                                      help_text="?prastiniams skai?iavimams naudokite einam?j? met? bazin? kain?",

                                      error_messages={'max_digits': 'Bazin? kaina neturi vir?yti 5 skaitmen?.'},

                                      )


    def __init__(self, *args, **kwargs):

        initial_arguments = kwargs.get('initial', None)

        updated_initial = {}

        updated_initial['bazine_kaina'] = BazineKaina.objects.latest('data')

        kwargs.update(initial=updated_initial)

        super(DrgSkaiciuokle, self).__init__(*args, **kwargs)



    def clean_bazine_kaina(self):

        bazine_kaina = self.cleaned_data['bazine_kaina']

        return bazine_kaina


查看完整回答
反對(duì) 回復(fù) 2022-06-07
  • 2 回答
  • 0 關(guān)注
  • 129 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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