2 回答
TA贡献1817条经验 获得超6个赞
你DrgSkaiciuokle是在 Django 启动时导入的,然后实例化任何类属性。因此,当您或启动您的 Django 工作人员.latest()时会执行一次查询,并且不会再更改。runserverinitial
initial在表单的方法中设置,__init__以便在每次实例化表单时调用它。
TA贡献1786条经验 获得超13个赞
根据dirkgroten 的建议和这个来源,我找到了完整的解决方案:
表格.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
添加回答
举报
