Проблема с внешними ключами в 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. В конце концов, они находятся в отдельной таблице, и могут возникнуть некоторые забавные (но легко предотвратимые) условия гонки.

Вернуться на верх