Возвращаемое значение, если оно не существует

#django

#джанго

Вопрос:

В моем шаблоне у меня есть несколько значений, представленных из данных в базе данных.

{{ fundamentals.project_category }}

Но когда данных не существует, это приводит к ошибке matching query does not exist. , я думаю, потому что данные не возвращаются в наборе запросов в fundamentals модели. fundamentals = project.fundamentals_set.get()

на мой взгляд, я пытаюсь:

 if project.fundamentals_set.get().exists():  fundamentals = project.fundamentals_set.get()  else:  #what should i put here?   

Я предполагаю if , что заявление запрашивается вместе с exists(): , но это не работает, и я не уверен, что я должен вставить в else заявление, чтобы вернуть что-то вроде nothing exists , когда в полях нет данных?

Ответ №1:

Вызовите exists() набор запросов. Ваш вызов get() в вашем состоянии-это выполнение запроса, который вам не нужен, если не может быть никаких результатов.

 if project.fundamentals_set.all().exists():  fundamentals = project.fundamentals_set.get() else:  # what should i put here?   

Комментарии:

1. Ах, спасибо, Иэн. Я был почти на месте. хороший