更新时间:2023-01-20 23:33:06
You need to define an __init__()
method in your form class which takes is_staff
as an argument. is_staff
can be a boolean value.
def __init__(self, *args, **kwargs):
is_staff = kwargs.pop('is_staff')
super(AddMovementForm, self).__init__(*args, **kwargs)
if is_staff:
self.fields['status'].choices = STAFF_STATUS_CHOICES
else:
self.fields['status'].choices = STATUS_CHOICES
When you initialize your form, you can do
AddMovementForm(is_staff=True) # or
AddMovementForm(is_staff=False)