2 回答

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ì)再更改。runserver
initial
initial
在表單的方法中設(shè)置,__init__
以便在每次實(shí)例化表單時(shí)調(diào)用它。

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
添加回答
舉報(bào)