How to handle user specified Models for a User Specified Inventory Management System

I am in the planning stages of a general inventory management system. One needed feature is for user specified product types. This looks like dynamic Model specification to me. I am unable to find prior work or posts of this nature, but I’m going to bet I’m just using the wrong search terms. Am I looking at something like dynamic runtime creation of Models, runtime migration creation, runtime and migration application or is there something else that is a better idea? I’d like some advice to avoid a big mistake at the start.

Not a good idea with Django. I suggest you find a different solution.

Either a JSON field for the custom data or (possibly) an Entity-Attribute-Value model.

In the general case, my preference is for the JSON field, but the final decision would really depend upon the specifics of the requirements.