Странное поведение сериализаторов Django [закрыто]

Попробую кратко описать текущую ситуацию:

я считаю, что более высокий уровень охвата этого метода не требуется для понимания ситуации, так как проблема лежит между синтаксисом?

Или просто плохое программирование с моей стороны:

У меня есть такой метод:

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

В первой части я создаю экземпляр FasiPrestazionali через Serializer; затем сохраняю этот экземпляр и копирую его в переменную fase_instance как fase_id. В последнее время я успешно использовал это здесь:

 commessa.fase_prestazionale.add(fase_id)

Теперь я хочу знать, почему я повторяю то же самое, только с другой моделью.

  fase_id = fase_instance.id 

Django говорит мне, что fase_instance.id не существует?

class PreventivoStudioForm(generics.ListCreateAPIView):
    queryset = PreventivoStudio.objects.all()
    serializer_class = PreventivoStudioSerializer
    authentication_classes = [JWTAuthentication]
    permission_classes = [IsAuthenticated]
    #primo caso in presenza di commessa_id : creare un PreventivoStudio con i dati forniti e ciclare le fasi rendendole ciascuna una fasePrestazionale legata alla commessa fornita
    def post(self, request, *args, **kwargs):
        studio_id = request.data.get("id")
        commessa_id = request.data.get("commessa_id")
        if commessa_id: 
            commessa = Commesse.objects.get(id=commessa_id)
            studio = Studio.objects.get(id=studio_id)
            #riassociazione di 'fasi' dentro la request per ciclarli come FasiPrestazionali
            fasi = request.data.pop('fasi')
            #remove di undefined perchè causa problemi durante il salvataggio del serialized
            request.data.pop('undefined')
            request.data.pop('id')
            PreventivoStudioSerializer.create(self,validated_data=request.data)
            print('preventivoCreato')
            print(fasi)
            for fase in fasi:
                print('dio scappato di casa')
                fase_serializer = FasiPrestazionaliSerializer(data=fase)
                fase_serializer.is_valid(raise_exception=True)
                fase_instance = fase_serializer.save()
                fase_id = fase_instance.id
                print(fase_id)
                commessa.fase_prestazionale.add(fase_id)
                commessa.save()
            return HttpResponse('preventivo e nuove fasi salvate con successo')
        else:
            print('commessa_id non presente')  
            request.data.pop('undefined')
            request.data.pop('id')
            fasi = request.data.pop('fasi')
            nuovo_preventivo = PreventivoStudioSerializer.create(self,validated_data=request.data)
            print('preventivoCreato', nuovo_preventivo)
            custom_obj = {
                "nome_commesse": nuovo_preventivo.nome,
                "descrizione": nuovo_preventivo.descrizione,
            }
            nuova_commessa = CommesseSerializer.create(self, validated_data=custom_obj)
            commessa_instance = nuova_commessa.save()
            nuova_commessa_id = nuova_commessa.id
            for fase in fasi:
                fase_serializer = FasiPrestazionaliSerializer(data=fase)
                fase_serializer.is_valid(raise_exception=True)
                fase_instance = fase_serializer.save()
                fase_id = fase_instance.id    
                nuova_commessa.fase_prestazionale.add(fase_id)
                nuova_commessa.save()
            nuovo_preventivo.save(
                commessa = nuova_commessa_id
            )
            return HttpResponse('sei un fallimmento')

Я пытался обратиться к fase_serializer, чтобы проверить, что внутри, но Django троллит меня и возвращает только имя только что созданной модели. Кроме того, я начал работать с Django всего 2 месяца назад, и этот проект не помогает понять, что, черт возьми, происходит.

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