Можно ли предварительно заполнить форму Django с помощью метода get_object вместо get_initial при использовании CreateView.Я пытаюсь клонировать (все атрибуты будут одинаковыми, кроме первичного ключа) записи в таблице базы данных.Не использует UpdateView, поскольку он не будет обновлять существующую запись.Или есть ли другой способ приблизиться к этому?
class RequestCloneView(SuccessMessageMixin, CreateView):
model = Request
form_class = RequestAddForm
http_method_names = ['get', 'post']
template_name = 'request_add.html'
success_message = "Request Created!"
def get_initial(self):
initial_data = super(RequestCloneView, self).get_initial()
data = Request.objects.get(req_id=self.kwargs['qid'])
initial_data['req_label'] = data.req_label
initial_data['model'] = data.model
initial_data['version'] = data.version
initial_data['type'] = data.type
initial_data['test'] = data.test
return initial
# def get_object(self):
# return Request.objects.get(req_id=self.kwargs['qid'])
...
Это работает для меня, но хотел знать, можем ли мы использовать get_object, как мы используем для UpdateView для предварительного заполнения формы вместо назначения каждого значения в словарь initial_dataвручную?Или любой другой лучший способ сделать это?