在我的django应用程序中,我有一个名为"status"的模型字段。在获取此字段数据的窗体之一中,我只想显示模型中所有可用选项的子集。有没有办法从表单中删除选项?我需要数据库和管理员可以选择它的管理界面中删除的选项。
status = models.CharField(STATUS_FIELD_NAME, choices=STATUS_CHOICES,
default=STATUS_DEFAULT,
max_length=3)
您可以在表单中定义选项的子集:
class YourForm(forms.ModelForm):
SUBSET_CHOICES = (
(YourModel.CHOICE_ONE, _('First choice')),
(YourModel.CHOICE_TWO, _('Second choice')),
)
class Meta:
model = YourModel
fields = ['choice', ]
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['choice'].choices = self.SUBSET_CHOICES