Как ссылаться на связанный объект после удаления объекта?
В заголовке: Как обратиться к связанному объекту после удаления объекта?
Простой пример:
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()
Теперь невозможно использовать объект_a, выскакивает эта ошибка:
'NoneType' object has no attribute 'id'
Такой подход тоже не работает:
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()
Связанные кверисеты могут быть использованы позже с помощью list(queryset), а как насчет одного объекта?