a) separate managers for live and draft?
b) proxy models for live and draft with separate managers?
c) live and draft child models of the same abstract base model?
But also: Django supports routing between multiple databases.
A third option would be to have multiple instances running with different settings off the same codebase.