Проблема с внешними ключами в Django Python
Я успешно показываю информацию о "скважине", привязанную к конкретному проекту, на основе идентификатора скважины. Когда я пытаюсь показать drilling_tools аналогичным образом, я получаю ошибку. Может ли кто-нибудь понять, что я делаю неправильно в моих представлениях?
def well_show(request, well_id):
well = Well.objects.get(pk=well_id)
drilling_tools = DrillingTool.objects.get(pk=well_id)
return render(request, 'geodata/well_show.html', {'well': well, 'drilling_tools': drilling_tools})
Попробуйте вместо этого следующее, если они связаны:
def well_show(request, well_id):
well = Well.objects.get(pk=well_id)
drilling_tools = DrillingTool.objects.filter(well__id=well_id)
return render(request, 'geodata/well_show.html', {'well': well, 'drilling_tools': drilling_tools})
Ваш код не работает, потому что well.id
может отличаться от drilling_tools.id
. В конце концов, они находятся в отдельной таблице, и могут возникнуть некоторые забавные (но легко предотвратимые) условия гонки.