从 Django 模型在 Django 表单的选择字段中添加值

时间:2020-12-21 13:06:57

标签: django django-models django-forms

我将模型称为设置,将 'product_type' 存储在键中,将 {'product1','product2'} 存储在其值中

class Settings(models.Model):
    key = models.CharField(max_length=100)
    value = models.CharField(max_length=1000)

我有一个名为 product_type 的 Django 表单字段。从设置模型中,我正在获取元组值并附加为 product_type 表单字段中的选项

class InspectionForm(forms.Form):
    PRODUCT_TYPES = [(product, product.upper()) for product in 
                      eval(Settings.objects.get(key='product_type').value)]
    product_type = forms.ChoiceField(choices=PRODUCT_TYPES)

我面临的问题是,每当我在元组中添加新值(它存储在设置模型中)时,表单字段 product_type 在从视图渲染模板期间仅显示旧值(它调用 InspectionForm()类)

但是当我执行 runserver 时,它会显示最新的值。

0 个答案:

没有答案
相关问题