While convenient, Django's ORM has many pitfalls for the unwary, which can lead to data integrity bugs:
- autocommit by default
- get_or_create/update_or_create not always atomic
- invalid values are silently coerced to None
- validation is enforced inconsistently
This talk shows brief examples of bugs due to each.