I've always struggled to remember between these very similar methods in the SQLALchemy ORM - so I took some time out to research these and write it down.
A few notes on the code review process, and the steps I go through when reviewing.
Some thoughts on what code reviews are and are not.
Building model definitions for many-to-many relationships via a secondary table.
Sick of `alembic merge heads` slowing down your builds? Here's a short bash script I wrote to rename your migration files and update its down revision.
Want the power of Periscope or Tableau, without the big monthly bill? Setup Metabase to run locally on your CentOS server.
Mount a directory to be shared between multiple servers using Network File System (NFS).
Dive into SQLAlchemy's little known `event.listen` method to automatically generate slugs when saving a model instance.
How to use the `do` Jinja extension to modify an existing dictionary in your view template.
Configuring your Lambda function for use with an Alexa skill.
How to create and configure a custom Alexa Skill.
How to build a server-less application which handles authentication, saves details to DynamoDB, and communicates via Amazon's Alexa-enabled products.