Django forms переданный объект экземпляра переопределяется в is_valid

Я работал над представлением Django, которое обновляет определенный объект модели x. В методе POST я инициирую ModelForm и передаю instance объект модели x. Но когда я пытаюсь использовать объект x внутри блока if form.is_valid():, некоторые значения в vars(x) переходят в None. Вот сниппет для объяснения сценария.

class MyUpdateView(generic.View):
    form_class = MyModelForm
    def post(self, request, *args, **kwargs):
        model_obj = MyModel.objects.get(id=kwargs.get("pk"))
        # Example: {"emp": 113, "project": 22, "salary": 28000}
        form = self.form_class(request.POST, instance=model_obj)
        print(vars(model_obj)) # works fine, shows all the data

        if form.is_valid():
            print(vars(model_obj)) # few values go None, not reusable
            # Example: {"emp": None, "project": None, "salary": 28000}

Как мы видим, когда переменные проверяются внутри form.is_valid(), что-то происходит с переданным instance объектом.

Что может быть причиной этого?

Вернуться на верх