Можно ли добавить нередактируемое поле в представление UpdateView на основе класса в Django

class EmployeeView(generic.edit.UpdateView):
    model = Employee
    fields = '__all__'
    template_name = 'wfp/employee.html'

    def get_object(self, queryset=None):
        return Employee.objects.get(uuid=self.kwargs.get("employee_uuid"))

имеет все, что мне нужно, кроме UUID, который находится на сотруднике и который не редактируется.

Я бы очень хотел включить это в HTTPResponse, чтобы я мог использовать в другом месте ссылку на другую страницу. (У сотрудника есть распределение вещей)

Идеи?

Спасибо

Создайте класс EmployeeModelForm, тогда вы сможете легко контролировать процесс.

# forms.py

from django import forms


class EmployeeModelForm(forms.ModelForm):
    class Meta:
        model = Employee
        exclude = ["your_uuid_field"]

и затем используйте класс EmployeeModelForm в вашем представлении с помощью атрибута form_class

# views.py

class EmployeeView(generic.edit.UpdateView):
    model = Employee
    form_class = EmployeeModelForm
    template_name = 'wfp/employee.html'

    def get_object(self, queryset=None):
        return Employee.objects.get(uuid=self.kwargs.get("employee_uuid"))
Вернуться на верх