It has so many built in footguns, however. For instance,`SerializerMethodField`, in conjunction with a list endpoint, can generate a huge number of queries if one doesn't prefetch appropriately, and this issue is very difficult to catch with a linter. Granular test coverage is difficult because the testable unit is the ViewSet or the Serializer. I think DRF is great for rapid prototyping and early stage development.
In the long term, with a lot of complexity and a large organization, a more mature architecture that relies on components that wrap tables, composed together to form components that wrap business logic, which are composed into endpoints. Something like that is much easier to test and more scalable for disparate teams to step into and understand.