Фигурные скобки при заполнении виджета из базы данных - PullRequest
0 голосов
/ 07 марта 2019

Я пытаюсь выяснить, как запретить отображение скобок {} при запросе базы данных и заполнении виджета.Я понимаю, что это потому, что между словами есть пробел, но я не уверен, как предотвратить отображение скобок.

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

Для каждого столбца в таблице запрашивается и отображает открытую скобку в начале совокупности данных и закрывающую скобку в конце.

Пример популяции в виджете:

{Буффало Сити}

{Майами Сити}

{Флорида}

Каждый из результатов получен издругой row_id, но из той же таблицы и столбца.Если между двумя словами нет места (BuffaloCity), нет скобок, а если слова связаны подчеркиванием (Buffalo_City), также нет скобок.

Есть ли документ, к которому я могу прочитатьзнаете, как решить и предотвратить это?

Мой запрос:

selection = var.get()
c.execute('SELECT Recipe FROM Recipes WHERE Dish_Type = :selection ORDER BY Recipe DESC', {"selection": selection})
results = c.fetchall()
for each_result in results:
    output.insert(0,each_result)

1 Ответ

0 голосов
/ 08 марта 2019

Вы обрабатываете результаты БД следующим образом:

for each_result in results:
    output.insert(0, each_result)

Я рекомендую переименовать переменную, чтобы отразить ваш запрос SQL:

for recipe in results:
    output.insert(0, recipe)

С более конкретным, более значимым именем переменной мыТеперь можно увидеть ошибку.Вы на самом деле перебираете строки результатов из БД, а не перебираете отдельные рецепты.Поэтому добавьте запятую, чтобы исправить ваш синтаксис:

for recipe, in results:
    output.insert(0, recipe)

Если, например, оператор SELECT также запрашивает время подготовки, вы должны использовать тот же синтаксис распаковки кортежей:

for recipe, prep_time in results:
    output.insert(0, recipe)

Когда вы видите, что извлекается несколько столбцов, «распаковка» может показаться вам более естественной.

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