Смотрите. Есть у меня две модели TestParent и TestChild
У TestChild есть ключ ForeignKey(TestParent)
Так вот. Когда я делаю вид (views.py) я ищу в БД всех детей по id-родителя. что-то вроде вот такого
TestChild.objects.get(parent_id=id)
TestChild.objects.get(parent_id=id)
- parent 1
-- child 1
-- child 2
-- child 3
- parent 2
-- child 4
-- child 5
-- child 6
parent = Parents.objects.get(id=id)
children = parent.get_child()
dissdochttp://docs.djangoproject.com/en/dev/ref/models/querysets/#id4 - оно?
Спасибо за исправление ошибки)) Я только что в доках это нашел. Это тоже имеет место быть.
Но меня также волнует вопрос другой. Мы получается все равно игнорируем все ключи когда запрашиваем из БД данные.
Я просто думал есть способ более…хм.. объектный что ли. Ведь мы в модели указываем ключи,а значит если нашли родителя, то и дети автоматически подхватываются. Образно говоря что-то вроде вот такогоЧто-то вроде такого разве не реализовано в джанге? Меня это больше интересовало :) Я надеюсь вы поняли,ч то я имею ввиду. Ну думал что уже автоматизировано все. Разве нет?parent = Parents.objects.get(id=id)
children = parent.get_child()
dissdocЧитайте документацию.
Все то, только такое возможно от детей к родителю, а не наоборот. Эх…
dissdoc
Все то, только такое возможно от детей к родителю, а не наоборот. Эх…
Ну придется действовать по вашему первому совету.
child = Child.objects.select_related().get(pk=1)
parent = child.parent
parent = Parent.objects.get(pk=1)
children = parent.child_set.all()
child = parent.child.objects.get(pk=1)
dissdocТогда, я не понимаю.
Ну это я видел) В итоге объекты получаем по запросу, а не по ссылке :) Вот что я имел ввиду)) Это у родителя
А у детей как раз по ссылке)))
А вы мне как раз то же самое написали, что я и писал)))
children = parent.get_child()
children = parent.child_set.all()