是否可以为 Django 中的选择字段输入外部文件?

Is it possible to have an external file input for choicefields in django?

我的 Django 模型中有 ChoiceField,它包含多个选项,我在表单中使用 CheckboxSelectMultiple 小部件来获得多个 select 选项。

型号-

BREAKFAST_CHOICES = (('fruits', 'A bowl of fruits with nuts'),
                           ('tofu', 'Tofu Omlette'),
                           ('1', 'Option 1'),
                           ('2', 'Option 2'),
                           ('3', 'Option 3'),)
    breakfast = MultiSelectField(choices=VBREAKFAST_CHOICES, null=True, blank=True, default=False)

表格-

widgets = {
        'breakfast': forms.CheckboxSelectMultiple,
}

现在,如果将来我想用其他选项更改现有选项(选项)或添加和删除选项,我该怎么做? 对于非程序员来说,是否有一种更简单的方法来从外部更新文件并实现这一目标?即我的选择字段是否可以采用包含选项列表的外部文件,可以根据需要进行编辑。

您可以使用外键关系。这样您就可以使选择字段动态化。

这只是示例代码。基本上你在这里做的是你做两个模型早餐和 breakfast_food。

在你的models.py

class BreakfastFood(models.Model):

   name = models.CharField(max_length=100)


class Breakfast(models.Model):

   breakfast = models.ForeignKey(BreakfastFood, on_delete=models.CASCADE)

通过这种方式,您可以创建一个动态选择域,您无需查看代码即可添加、删除或更新项目。无论您在 breakfastFood 模型名称字段中创建或删除什么,都会在 breakfast 字段中自动更改。有想法就试试看吧。