Learn

Querying a database table with Flask SQLAlchemy is done through the query property of the Model class. To get all entries from a model called TableName we run TableName.query.all(). Often you know the primary key (unique identifier) value of entries you want to fetch. To get an entry with some primary key value ID from model TableName you run: TableName.query.get(ID).

For example, to get all the entries from the Reader table we do the following:

readers = Reader.query.all()

Similarly, to get a reader with id = 123 we do the following:

reader = Reader.query.get(123)

We assign the result of the .get() method to a variable because through that variable we can access the entry’s attributes. For example:

reader = Reader.query.get(450) print(reader.name)

Now you see the amazing convenience of using ORM: database tables are simply treated as Python classes and database entries are Python objects. For example, you can easily use a for loop to loop through all the readers and print their name:

readers = Reader.query.all() for reader in readers: print(reader.name)

In the image on the right, you can see some entries we already inserted for you in the database, so you can query it.

Instructions

1.

In the playground.py file, write code that assigns all entries from the Review table to a variable called reviews.

2.

In the playground.py file, write a for loop that will, for each review in reviews, print its text attribute.

3.

In the playground.py file, use the get() function to get a book with id=12 from the Book table, and assign the result to a variable called book_1.

Sign up to start coding

By signing up for Codecademy, you agree to Codecademy's Terms of Service & Privacy Policy.
Already have an account?