[HN Gopher] Show HN: Django Ninja CRUD - Rethinking CRUD Operati... ___________________________________________________________________ Show HN: Django Ninja CRUD - Rethinking CRUD Operations in Django I've developed Django Ninja CRUD, a tool to simplify CRUD operations in Django by leveraging Django Ninja's strengths. It aims to make CRUD operations more intuitive, modular, and efficient, especially for large-scale projects. Key aspects: - Declarative, intuitive CRUD operations. - Modular approach with composition-over-inheritance. - Enhanced testing capabilities for robust applications. The tool is designed to transform Django development workflows, improving efficiency and maintainability. Read more about the development, features and roadmap here: https://medium.com/@hbakri/introducing-django-ninja-crud-ee9... GitHub Repository: https://github.com/hbakri/django-ninja-crud I'm eager to hear your feedback and hope it adds value to your Django projects! Author : hichambakri Score : 28 points Date : 2023-12-13 21:43 UTC (1 hours ago) (HTM) web link (github.com) (TXT) w3m dump (github.com) | fvdessen wrote: | I've been making APIs in django for years and for each project, | at some point the API behaviour needs to differ from the model. | It is not clear from the README how would one handle that use | case. | pryelluw wrote: | I use Django ninja because it's minimal and uncoupled from | everything else. Like the framework it is based on fast api. | | Coupling to the ORM the api contract (schemas) is much closer to | Django rest framework than id like. | | My approach is to have a schema factory that takes query results | and outputs instances schema models. The schema handles all the | contract level validation. | | What benefits do you reason your project brings over my approach? | I'm genuinely interested in a technical discussion. Not starting | a flame war or baiting you. | pdhborges wrote: | I'll be blunt, having experienced the damage caused by DRF Model* | accelerators in mid sized codebases I just hate it. | | CRUD stops being CRUD quickly, these CRUD accelerators just | intruduce more non linearity into the development. Its easy to | hit a wall and hack around the accelerator to make a little bit | custom behaviour leaving behind API implementations that are | totaly "irregular" from each other each one mixing different low | level changes in the middle of high level accelerators. ___________________________________________________________________ (page generated 2023-12-13 23:00 UTC)