Great for small stuff, but far too often one end up using it for too much. Extending it with more widgets, custom logic, fine grained access. Quick in the beginning, very hard to maintain in the end compared to a custom made view.
Great for small stuff, but far too often one end up using it for too much. Extending it with more widgets, custom logic, fine grained access. Quick in the beginning, very hard to maintain in the end compared to a custom made view.
In scope operation and extension: - Incredibly smooth and effortless
Slightly out of scope: - F U, buddy.
It’s amazing for so much stuff that it’s honestly a superpower for a tech or tech leveraged company, and great for prototyping internal process automation.
The trick is knowing when to throw in the towel and go purpose built. I’ve definitely missed that boat at least once in my career.
It's definitely in my top 5 most valuable skills, and seems like an open secret in the industry.
* Fluency in Postgres, specifically its aggregate functions, window functions, and CTAs. Again, given a company's dataset you should be able to write complex queries to answer business-critical questions in a few minutes to be able to drive decisions. As an aside, knowing that UNIX system usually has sqlite installed and is the fastest way to analyze local tabular data.
* Being a competent writer. Some people command clear thinking, gravitas, and vision when they write. It is easily the most important skill when remote working, and a definite shibboleth when you want to sound convincing to overeducated knowledge workers. Being able to explain complex topics to a lay audience had gotten me many jobs.
* Knowing how to use AdWords, Google Trends and mailing lists to quickly validate product ideas. This is one of the easiest ways to discard or validate ideas. It's so useful and quick and such a simple way to avoid months of wasteful work.
* Knowing the basics of Western philosophy and psychology. Everything humans do fits within a system of values a loosely consistent logics. 99% of people rarely think outside of those value systems, and if you understand the history of philosophy you'll see that we're quite predictable in our wants and desires. It helps you be more persuasive, choose the right work for your own preferences, put people to work where they'll feel useful and fulfilled, and will help you see the pitfalls of certain group dynamics for whatever institution you're working for.
Use the admin more where it's most useful. Use it less where it's not. You don't have to go cold turkey.
A Django-specific skillset I found very important is to know where that limit/line of the admin sits - you can push it very far, but there's absolutely a point where it becomes unmaintainable and more costly than building it yourself. The line itself can be a bit of a moving target depending on the project though.
The Django admin is simultaneously one of the greatest tools of the past two decades while also being a massive footgun if you're not careful.
I'd like to see Django gradually redesigning parts of the Admin to allow for more modular extensibility in future versions.
And when it wasn't, we just provided api's through DRF for users with elevated privilege, and some kind of CLI interface for people to use it.
Hell, even the DRF web interface is fine for people who know how to do REST queries.
But it's not a substitute for being comfortable working with forms, templates, urls, requests and building custom views. Time spent learning the django-admin DSL would be better spent here, or learning the CBV DSL...
I'm kind of at a spot where I want to replace all admin with custom but this comes up against an important rule. Dont fix what's not broken.