How to refer to a related object after deleting an object?

As in the title: How to refer to the related object after deleting the object?

Simple example:

ModelA(models.Model):
  ...
ModelB(models.Model):
  model_a = models.ForeignKey("ModelA", on_delete=models.CASCADE)
class TestView(APIView):
   def delete(self, request, pk):
      object_b = get_object_or_404(ModelB, pk=pk)
      object_a = object_b.model_a
      object_b.delete()

It is now impossible to use object_a, this error pops up:

'NoneType' object has no attribute 'id'

This approach does not work either:

class TestView(APIView):
   def delete(self, request, pk):
      object_b = get_object_or_404(ModelB, pk=pk)
      object_a = ModelA.objects.get(id=object_b.object_a.id)
      object_b.delete()

Related queryset can be used later with list(queryset), what about one object?

Back to Top