It has become clear over time that keeping unpublished edit state and published data model state in the same tables complicates queries and is prone to leakage.
Separating all edit functionality including widgets, meta information and data model into a separate django app would cleanly fix this problem and make public API queries faster and much less bug prone. It would also allow others to use the data model without including the edit functionality, or to define their own edit functionality.
It has become clear over time that keeping unpublished edit state and published data model state in the same tables complicates queries and is prone to leakage.
Separating all edit functionality including widgets, meta information and data model into a separate django app would cleanly fix this problem and make public API queries faster and much less bug prone. It would also allow others to use the data model without including the edit functionality, or to define their own edit functionality.