CRUD - Create Record
Creating records means:
- instantiate a model
- add it to the session
- commit
Example
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///app.db"
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
with app.app_context():
db.create_all()
user = User(username="ravi")
db.session.add(user)
db.session.commit()
print(user.id) # id is available after commitfrom flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///app.db"
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
with app.app_context():
db.create_all()
user = User(username="ravi")
db.session.add(user)
db.session.commit()
print(user.id) # id is available after commitSession basics
db.sessiondb.sessionholds pending changescommit()commit()finalizes the transaction
If something fails, you can:
db.session.rollback()db.session.rollback()Common pitfalls
- Forgetting
commit()commit()(data doesnβt persist) - Not handling
IntegrityErrorIntegrityError(unique constraint violations) - Doing heavy DB work inside request handlers without optimization
If this helped you, consider buying me a coffee β
Buy me a coffeeWas this page helpful?
Let us know how we did
