Django在页面刷新时更新表单值

时间:2017-11-02 14:18:19

标签: jquery python django

我在forms.py中有一个类,用于为该表单设置ui,其中一些是由(外部)数据库填充的下拉菜单

class myForm(forms.Form):

    barcodes_list = getBarcodes(server_database) 
    barcodes= forms.TypedChoiceField(label='Barcodes', 
        choices=barcodes_list,
         widget=forms.Select(attrs={'style':'width:164px'}),
          initial = ''  )  

barcodes_list仅在重新启动Django服务器时运行。如果刷新页面,即使数据库发生更改,条形码列表也会保持不变。我想在刷新时再次运行barcodes_list。

我已经尝试在myForm类中按照SO

上的类似问题添加它
def __init__(self, *args, **kwargs):
        super(myForm, self).__init__(*args, **kwargs)  
        barcodes_list = ...

1 个答案:

答案 0 :(得分:1)

试试这个:

class myForm(forms.Form):
    def __init__(self, *args, **kwargs):
        super(myForm, self).__init__(*args, **kwargs)
        self.fields['barcodes'].choices = getBarcodes(server_database)

    barcodes = forms.TypedChoiceField(label='Barcodes',
         widget=forms.Select(attrs={'style':'width:164px'}), initial='')