Можно ли добавить нередактируемое поле в представление 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"))