You have to know what DRF is good for, and what doesn't fit well with it. Because DRF is on top of Django (one layer not many layers), you can always fall back to a function that takes a request and returns a response. You can also fall back to SQL instead of the ORM.