Если связанный фильтр возвращает только 1 результат, то вы можете использовать:
def my_view(request, city, store, item):
item = Item.objects.filter(store__city=city, city=city)[0]
, который фильтрует записи Элемента и сохраняет их в QuerySet, который имеет структуру list-lilke, затем возьмите первыйelement ...
Если вы уверены, что получите результат, тогда вы можете использовать get вместо filter:
item = Item.objects.get(store__city=city, city=city)
Но если не существует записи, которая соответствует вашим критериям фильтра, тогдаВы получаете ошибку.Поэтому, если вы не уверены, будет ли фильтрация возвращать результат или нет, используйте:
item = Item.objects.filter(store__city=city, city=city)
if item:
item = item[0]
, который проверяет результирующий набор запросов и получает первый результат, если таковой существует.