【发布时间】:2026-01-24 11:45:01
【问题描述】:
如下所示,我有 CharField 模型。用户可以选择 ROLE_CHOICE 中的值之一。
问题:如何使某些值不可用,但您仍然可以在选择中看到它们。
目前,我尝试了以下代码,但它使某些值不可见,这不是我想要的(我希望它们被禁用,而不是不可见)。
model.py:
ROLE_CHOICES = (
('manager', 'Manager'),
('developer', 'Developer'),
('business_analyst', 'Business analyst'),
('system_analysts', 'System analysts'),
)
class Membership (models.Model):
***OTHER FIELDS***
role = models.CharField(max_length=20, choices=ROLE_CHOICES,)
forms.py:
class MembershipForm(forms.ModelForm):
class Meta:
model = Membership
fields = '__all__'
def __init__(self, *args, **kwargs):
super(MembershipForm, self).__init__(*args, **kwargs)
self.fields['role'].choices = tuple(choice for choice in ROLE_CHOICES if choice[0] not in ['developer'])
【问题讨论】:
标签: python django python-3.x django-forms django-1.9