Search code examples
python-3.xtkintertinydb

How to retrieve a single value from a TinyDB database?


I'm learning how to use TinyDB on Python and I have the basics working (add, remove, update etc.). But now I'm trying to retrieve specific values from the database. The code I'm using is in this method:

def showpassword():
    show = userdb.get(where("username") == txtname.get())
    txtshow.insert(0, show)

When I run the method, it displays the output as follows:

{'username': 'John', 'surname': 'Doe'}

How can I get it so that I can display only the user's name or surname and without any brackets?


Solution

  • TinyDb stores its data as JSON which is represented in Python as a dictionary.

    Change the line

    txtshow.insert(0, show)
    

    to

    txtshow.insert(0, "{username} {surname}".format(**show)
    

    Look here for a deeper dive in to string formatting.