Ошибка запроса к базе данных в представлениях django при использовании фильтра

Только что прошел учебник по Django и сейчас играю и тестирую материал.

Мой вопрос в том, почему следующая строка работает и позволяет мне перейти на страницу без проблем:

test =  Choice.choices.all()

В то время как следующая строка фильтра дает мне сообщение об ошибке ValueError: too many values to unpack (expected 2)

test =  Choice.choices.get("question_id=6")

Даже когда я пробую следующие две строки, это не работает. Не знаю, что происходит и почему

test =  Choice.choices.get("question_id=6")[0]
test =  Choice.choices.get("question_id=6")[0].question_text

Я чувствую, что мне нужно действительно понять, что происходит и почему, чтобы я мог делать правильные запросы в будущем

Это из-за синтаксической ошибки. Должно быть так:

test =  Choice.choices.get(question_id="6")

или, если поле question_id равно int (почти уверен, что это так):

test =  Choice.choices.get(question_id=6)

По сути, то, что находится внутри скобки (параметр) - это перевод Django условия SQL WHERE, где вы можете указать, какое поле и какое значение включить в результат. Фактически, это соответствует: SELECT * FROM table WHERE question_id=6

Вы поместили условие where внутрь строки, но метод .get() не принимает строку.

Сообщите мне, работает ли это!

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