This example creates a simple user table in memory, adds three users, and then shows how to use filter and filter_by to find users by age and name.
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///:memory:'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50))
age = db.Column(db.Integer)
with app.app_context():
db.create_all()
db.session.add_all([
User(name='Alice', age=30),
User(name='Bob', age=20),
User(name='Charlie', age=25)
])
db.session.commit()
# Using filter to find users older than 21
users_over_21 = User.query.filter(User.age > 21).all()
print('Users older than 21:')
for user in users_over_21:
print(f'{user.name} ({user.age})')
# Using filter_by to find user named Bob
bob = User.query.filter_by(name='Bob').first()
print('\nUser named Bob:')
print(f'{bob.name} ({bob.age})')