Well, there are a bunch of potential approaches, and each has some major drawbacks.
- CharField with choices (inflexible, migrate for each change 🙄)
- ManyToManyField with a custom model (complex 😓)
- JSON Fields (no schema/referential integrity 😬)
- Custom models and forms Per Tenant (OMG, please no! 🤢)
The django-tenant-options package gives your SaaS tenants the ability to provide custom options, while you can also add mandatory or optional default options for their forms.
3/7