Implementation as planned, except we use a no-op base class PureDjangoModel to mark a model as deliberately breaking the rules because Django's Meta objects are schema-checked.
PureDjangoModel
Meta
Closes #182 (closed)