Я пытаюсь сделать обязательное поле формы необязательным для суперпользователя в моем проекте.Но я застрял, потому что я не знаю, как это сделать.Я хочу использовать логическое значение is_super для обязательного поля, когда суперпользователь нажимает на обязательное поле is_super.
Спасибо
Вот снимок экрана поля формы: ![enter image description here](https://i.stack.imgur.com/vrJJS.png)
Вот мой код для form.py
class TrackerForm(forms.ModelForm):
is_super = forms.BooleanField()
class Meta:
model = Tracker
fields = ('is_super','cascade','Date','Technology', 'Type', 'Bandwidth_Checked_From_LSM', 'Market', 'eNB', 'LSM', 'CSMS', 'FE_Name', 'Mode_of_Communication', 'Activity', 'Activity_status', 'Site_Status_pre_Activity', 'Site_Status_post_Activity','E_Link_Status_of_BH0_for_CDU30','MJ_Object_Marked','RET','Alarms_Preventing_RET_Config','Frequency_Earfcn_Checked_from_LSM_BSM','IP_Route_or_IP_Address','Volte_MME_IP_Config','Review_LATP_Complete','Remarks','OAR_Date','OAC_Date','Lock_Unlock_Verified_By','Verify_Status','Final_Comments')
`
View.py:
@login_required
def tracker_new(request):
if request.method == "POST":
form = TrackerForm(request.POST)
if form.is_valid():
tracker = form.save(commit=False)
tracker.admin = request.user
tracker.created_date = timezone.now()
tracker.save()
return redirect('tracker_detail', pk=tracker.pk)
else:
form = TrackerForm
return render(request, 'tracker/tracker_edit.html', {'form': form})
Model.py:
admin = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE,default='')
cascade = models.CharField(max_length=255, default='')
Technology_CHOICES1 = (
('800', '800'),
('1900', '1900'),
)
Technology = models.CharField(max_length=255, choices=Technology_CHOICES1)
Type_CHOICES8 = (
('CDU10', 'CDU10'),
('CDU20', 'CDU20'),
('CDU30', 'CDU30'),
('NA', 'NA'),
)
Type = models.CharField(max_length=255, choices=Type_CHOICES8)
Bandwidth_Checked_From_LSM_CHOICES10 = (
('3', '3'),
('5', '5'),
('10', '10'),
('NA', 'NA'),
)
Bandwidth_Checked_From_LSM = models.CharField(max_length=255, choices=Bandwidth_Checked_From_LSM_CHOICES10)
market = (
('Kansas', 'Kansas'),
('Alaska', 'Alaska'),
('PR / VI', 'PR / VI'),
)
Market = models.CharField(max_length=255, choices=market)
eNB = models.CharField(max_length=255, default='')
LSM = models.CharField(max_length=255, default='')
CSMS = models.CharField(max_length=255, default='')
FE_Name = models.CharField(max_length=255, default='')
Mode_of_Communication_CHOICES6 = (
('Whatsapp', 'Whatsapp'),
('Primary Bridge', 'Primary Bridge'),
('Secondary Bridge', 'Secondary Bridge'),
('IM', 'IM'),
('E-Mail', 'E-Mail'),
)
Mode_of_Communication = models.CharField(max_length=255, choices=Mode_of_Communication_CHOICES6)
Activity_CHOICES2 = (
('C&I', 'C&I'),
('Troubleshoot', 'Troubleshoot'),
('LATP Testing', 'LATP Testing'),
)
Activity = models.CharField(max_length=255, choices=Activity_CHOICES2)
Activity_status_CHOICES3 = (
('Open', 'Open'),
('Close', 'Close'),
('Handover', 'Handover'),
)
Activity_status = models.CharField(max_length=255, choices=Activity_status_CHOICES3,)