I have a model called widgetManager and 2 widget models called emailWidget and TextWidget. Now a single instance of widgetManager can have multiple instances of emailWidget and TextWidget. How can this be achieved with the following in mind

Till now i only have two but there can be more in future
The order of widget is very important

I have tried with adding two many-many relations in widgetManager but that seems impractical and not the best way to go around because if first condition.
What i have in mind is maybe i can somehow make a base widget class and extend all the widgets from that class but i am not sure about that. Would be super helpful if someone can point me in the right direction. Thanks in advance.
If I understood your description correctly, you want a relationship where there can be many emailWidget or TextWidget for one instance of widgetManager. 
What you can do in this case is add a ForeignKey field for widgetManager to emailWidget and TextWidget. This way, you can have many instances of the widgets while they refer to the same manager.
I think you may have confused inheritance with model relationships when you said you want to extend widgets from a base class. Perhaps I'm wrong? 
Not sure what you mean't about order of the widget being important either..
Proper model defination in django for a widget manager