Skip to content

Instantly share code, notes, and snippets.

View carlosmontoya89's full-sized avatar

Carlos Montoya carlosmontoya89

View GitHub Profile
@carlosmontoya89
carlosmontoya89 / sqlalchemy_joins.py
Created July 14, 2022 16:15 — forked from mydreambei-ai/sqlalchemy_joins.py
sqlalchemy subqueryload, eagerload, joinedload, contains_eager, lazyload differences
import re
import time
from sqlalchemy import Column, Integer, TIMESTAMP, func, String, ForeignKey
from sqlalchemy import create_engine
from sqlalchemy import event
from sqlalchemy.ext.declarative import as_declarative, declared_attr, AbstractConcreteBase
from sqlalchemy.orm import scoped_session, sessionmaker, relationship
engine = create_engine('sqlite://', convert_unicode=True, echo=False)
########## CASE IN UPDATE STATEMENT ############
from sqlalchemy import case
# single value modification (the 'else' is not mandatory)
session.query(User).update({User.status : case([(User.status == "pending", "approved")], else_=User.status)}, False)
# multiple values modification
session.query(User).update({User.status : case([(User.status == "pending", "approved"),
(User.status == "waiting", "deprecated_status")])}, False)
@carlosmontoya89
carlosmontoya89 / sqlalchemy_example.py
Created July 9, 2020 18:47 — forked from podhmo/sqlalchemy_example.py
sqlalchemy query example.
import sqlalchemy as sa
import sqlalchemy.orm as orm
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.ext.declarative import declared_attr
from sqlalchemy.orm import scoped_session, sessionmaker
DBSession = scoped_session(sessionmaker())
class BaseMixin(object):
query = DBSession.query_property()
id = sa.Column(sa.Integer, primary_key=True)
@carlosmontoya89
carlosmontoya89 / binary_search.py
Created April 28, 2020 19:29
Binary Search in Python
# iterative implementation of binary search in Python
def binary_search(a_list, item):
"""Performs iterative binary search to find the position of an integer in a given, sorted, list.
a_list -- sorted list of integers
item -- integer you are searching for the position of
"""
@carlosmontoya89
carlosmontoya89 / binary_search.py
Created April 28, 2020 19:29
Binary Search in Python
# iterative implementation of binary search in Python
def binary_search(a_list, item):
"""Performs iterative binary search to find the position of an integer in a given, sorted, list.
a_list -- sorted list of integers
item -- integer you are searching for the position of
"""
@carlosmontoya89
carlosmontoya89 / SQLAlchemy_cast.py
Created February 3, 2020 21:37 — forked from danielthiel/SQLAlchemy_cast.py
SQLAlchemy: filter by date for an datetime field(does not work with SQLite, with PostgreSQL it works fine)
from datetime import date
from sqlalchemy import cast, DATE
Match.query.filter(cast(Match.date_time_field, DATE)==date.today()).all()
@carlosmontoya89
carlosmontoya89 / gist:f8cf8e342cfe4f17e0304569237e73d6
Created February 3, 2020 15:37 — forked from AkiraKito/gist:4064958
Make the query only for the hours and minutes (datetime.time object) using SQLAlchemy
# -*- coding: utf-8 -*-
from sqlalchemy import Column, Time, Integer, Boolean, create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
# SQL statements and expressions API
# cf. http://docs.sqlalchemy.org/en/rel_0_7/core/expression_api.html
from sqlalchemy import and_, extract