Я хочу, чтобы в моем проекте пользователи, имеющие роль менеджера, не могли видеть поле приоритета при обновлении формы.

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
Вернуться на верх