I think this is more a flaw of the authoritarian nature of larger web frameworks. They can&#x27;t cater to every use case and have to be opinionated in certain areas.<p>In Django&#x27;s case I would say their Authentication model was an opinionated choice that has since become a major staple of Django. Many frameworks will not include default ORM-models and will instead defer to the user to implement their own authentication scheme.<p>Personally I disagree with this choice, I think database schemas have to be flexible and an in-framework authentication setup will only encourage users to lean more on the framework even when it is working against them. I&#x27;ve burned plenty of hours in Django trying to work &#x2F; extend the authentication model. While I have no doubt much of this was due to my inexperience with Django, there is a certain responsibility with having a framework used by many beginners who will struggle and perhaps pick up bad habits (like expecting your web framework to automagically solve everything) if you do not design it for them.<p>Overall I think Django is awesome. But it&#x27;s not for every use-case, or every developer. About a year ago I moved over to NodeJS professionaly, some day I will perhaps go back but have yet to have any significant reason to do so.