Я хочу, чтобы в моем проекте пользователи, имеющие роль менеджера, не могли видеть поле приоритета при обновлении формы.
MODELS.PY :
class Ticket(models.Model):
status_choice = (
("Одобрено", "Одобрено"),
("Назначено", "Назначено"),
("Scoping", "Scoping"),
("В процессе", "В процессе"),
("Завершено", "Завершено"),
("Отменено", "Отменено"),
("Отклонено", "Отклонено")
)
приоритет_выбора = (
("Высокий", "Высокий"),
("Умеренный", "Умеренный"),
("Низкий", "Низкий"),
)
category = models.ForeignKey("vats.Category",on_delete=models.CASCADE)
subcategory = models.ForeignKey("vats.Subcategory",on_delete=models.CASCADE)
title = models.CharField(_("Title"), max_length=50,)
problem_descp = models.TextField(_("Problem Description"), max_length=500)
created_by = models.ForeignKey("registration.User", related_name=_("Issues"), on_delete=models.CASCADE)
priority = models.CharField(_("Priority"), max_length=50,null=True,blank=True,choices=priority_choice)
start_date_time = models.DateTimeField(_("Start Date Time"), auto_now_add=True)
end_date_time = models.DateTimeField(_("End Date Time"), null=True, blank=True)
assigned_to = models.ForeignKey("registration.User",related_name=_("Tasks"), on_delete=models.SET_NULL,null=True,blank=True)
status = models.CharField(_("Status"), max_length=50,choices=status_choice,null=True,blank=True)
class Meta: verbose_name = _("Ticket") verbose_name_plural = _("Tickets")
>def __str__(self):
return self.title
def is_open(self):
if self.status == 'Completed' or self.status == 'Cancelled':
return False
return True
Forms.py :
class TicketForm(forms.ModelForm): # subcategory = forms.ModelChoiceField(queryset=Subcategory.objects.filter(category__id = self.fields['category'])))
class Meta:
model = Ticket
fields = ("category", "subcategory", "title","problem_descp")
class TicketUpdateForm(forms.ModelForm):
class Meta:
model = Ticket
fields = ("category","subcategory", "title","problem_descp","status","assigned_to","priority")
def __init__(self, *args, **kwargs):
super(TicketUpdateForm,self).__init__(*args, **kwargs)
self.fields['category'].disabled = True
self.fields['subcategory'].disabled = True
self.fields['title'].disabled = True
self.fields['problem_descp'].disabled = True