This is awesome to see - always support new options tackling big fundamental systems.
I haven't looked at Ninja CRUD in detail, but I want to tell you about the pain points of DRF that we have and hopefully that can help you in you journey.
Currently we use DRF and DRF-Spectacular. I LOVE drf-spectacular - once you learn the DSL and get past all it quirks (there are a lot), it's extremely powerful and keeps API docs up to date with little to no effort.
DRF I could easily leave it behind. It's quite annoying to do things that aren't the core way.
If it's not a ModelSerializer and not a model based field, it gets janky fast.
- data validation is a terrible experience when you have a Model.full_clean(). This rightly could be Django's fault, but Form, Model, Serializer validations are all separated and cannot be unified. I just want a Data Validation backed by code (instead of sql).
- non-model fields has a lot of boiler plate for something so simple
- to_repesentation and from_representation.
But DRF and DRF-spectacular combination is so easy to manage a public API it's crazy, so I stay for now.
I haven't looked at Ninja CRUD in detail, but I want to tell you about the pain points of DRF that we have and hopefully that can help you in you journey.
Currently we use DRF and DRF-Spectacular. I LOVE drf-spectacular - once you learn the DSL and get past all it quirks (there are a lot), it's extremely powerful and keeps API docs up to date with little to no effort.
DRF I could easily leave it behind. It's quite annoying to do things that aren't the core way.
If it's not a ModelSerializer and not a model based field, it gets janky fast.
- data validation is a terrible experience when you have a Model.full_clean(). This rightly could be Django's fault, but Form, Model, Serializer validations are all separated and cannot be unified. I just want a Data Validation backed by code (instead of sql).
- non-model fields has a lot of boiler plate for something so simple
- to_repesentation and from_representation.
But DRF and DRF-spectacular combination is so easy to manage a public API it's crazy, so I stay for now.