Skip to content

Instantly share code, notes, and snippets.

@dhrrgn
Last active March 2, 2022 04:16
Show Gist options
  • Save dhrrgn/5936552 to your computer and use it in GitHub Desktop.
Save dhrrgn/5936552 to your computer and use it in GitHub Desktop.
Tired of doing db.session.add and db.session.commit to save your records? Have no fear, save is here. Note: This is for use with Flask-SQLAlchemy
from .user import User
def init_db(db):
"""Add a save() function to db.Model"""
def save(model):
db.session.add(model)
db.session.commit()
db.Model.save = save
db = SQLAlchemy()
init_db(db)
u = User(email='foo@foo.com', password='test!1234#')
u.save()
import bcrypt
from .core import db
class User(db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(255), unique=True, nullable=False)
password = db.Column(db.Text, nullable=False)
def __init__(self, email, password):
self.email = email
self.password = bcrypt.hashpw(password, bcrypt.gensalt(12))
def __repr__(self):
return '<User %s>' % self.email
@PurushothamanSrikanth
Copy link

@dhrrgn Good one!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment