Работа с первичным ключом модели. Django
Существует две модели:
class Parent(models.Model):
name = models.CharField(max_length=25)
date = models.DateField(default=now)
class Child(models.Model):
name = models.CharField(max_length=25)
quantity = models.DecimalField(max_digits=10, decimal_places=2)
parent = models.ForeignKey(Parent, on_delete=models.CASCADE)
В моем приложении есть набор (или список) родителей, внутри которого находится набор дочерних элементов. Когда я пытаюсь удалить дочерний элемент - запрос перенаправляет меня на неправильного родителя. Вот ниже мой вид:
def deleteChild(request, pk):
child= get_object_or_404(Child, pk=pk)
parent= get_object_or_404(Parent, pk=child.parent.pk)
if request.method == 'POST':
child.delete()
return redirect('detail', pk=parent.pk)
context = {'parent': parent.pk}
return render(request, 'parent-detail.html', context)
мой url:
path('child-delete/<int:pk>', views.deleteChild, name='child-delete'),
Я предполагаю, что одна из причин - неправильный пропуск ID... Подскажите, пожалуйста, что здесь не так и буду очень признателен всем, кто подскажет, как правильно прописать Models для такого случая (может быть, лучшую практику, если таковая имеется). Потому что я ожидаю ту же проблему, когда начну делать updateChild view X))). Спасибо большое и хорошего дня!