models/post.py
Mixins
Ordering for drag-and-drop
OrderingMixin maintains a position column. __ordering_scope__ makes positions
relative to a parent, so cards are ordered within their own column rather than globally.
models/card.py
Reordering
Generating a model
Next: how to lay out users, accounts and billing
The schema mistake that makes team plans and profile switching impossible later.