Common models, uncommon fields
Composable base models
UUID keys, timestamps, an editor reference, soft deletion, manual ordering and singletons — abstract bases you mix into your models with plain inheritance.
JSON with a schema
FlexField validates stored content against a JSON Schema, so editor-configurable content stays structured and validated at the data layer.
Soft deletion
Deleting stamps removed_at instead of dropping rows — instance and queryset deletes both — with separate managers for available objects.
Singletons
Settings-style models guaranteed single-row at the database level, with a manager that creates or updates on write.
Media library
Media and Folder models plus MediaField and ManyMediaField, with a file_type hint that editors like Content Studio can pick up.
URL paths and tags
A unique, normalized URL path field and a tag field that trims, lowercases and deduplicates — the small stuff, done right.