Нелогичная ошибка "Invalid get index"

Пишу на языке gdscript на движке Godot, но в данной ситуации это, наверно, не имеет разницы, потому что столкнулась с какой-то очень странной по своей логике ошибкой.

У меня есть таблица sql с двумя столбцами (их больше, но здесь учувствует 2): Pages и ReadPages. Оба типа int. Первый - общее количество страниц в книге, второй - прочитанные страницы.

И у меня есть два поля - первое просто текстовое поле Label, а второе SpinBox, где пользователь может изменять значение.

Так вот, соответственно из первого столбца мне нужно подтягивать значение в первое поле, а из второго во второе.

В коде это выглядит у меня вот так

all_number_of_page.text = str(db.query_result[id].Pages)
number_of_page.value = db.query_result[id].ReadPages 

И тут при проходе от строки к строке выдает ошибку Invalid get index '4'(on base 'Array[Dictionary]')

Но что самое интересное, если поменять названия столбцов в коде все работает, вот так никаких ошибок нет:

all_number_of_page.text = str(db.query_result[id].ReadPages)
number_of_page.value = db.query_result[id].Pages

И если добавить один и тот же столбец их тоже нет. Вот так все прекрасно работает

all_number_of_page.text = str(db.query_result[id].Pages)
number_of_page.value = db.query_result[id].Pages

И даже вот так работает без проблем

all_number_of_page.text = str(db.query_result[id].ReadPages)
number_of_page.value = db.query_result[id].ReadPages

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


Ответы (0 шт):