Django Models = Business Logic + Accesso ai dati? O il livello di accesso ai dati dovrebbe essere separato dal modello Django?

StackOverflow https://stackoverflow.com/questions/8913629

Domanda

In Django, l'architettura software suggerita è quella di inserire tutta la logica aziendale e l'accesso ai dati nei modelli.

Ma alcuni colleghi hanno suggerito che il livello di accesso ai dati dovrebbe essere separato dalla logica aziendale (livello di servizio aziendale). La loro giustificazione è che il livello di accesso ai dati può isolare le modifiche se viene utilizzata un'origine dati diversa. Dicono anche che esiste una logica aziendale che può essere in più di un modello.

Ma, quando inizio la codifica utilizzando i livelli separati di accesso ai dati e logica aziendale, il livello di accesso ai dati è semplice (fondamentalmente il codice modello che definisce lo schema DB) e non sembra aggiungere molto valore.

C'è davvero valore nel separare l'accesso ai dati dai modelli Django o Django fornisce già un livello di accesso ai dati sufficiente con il suo ORM?

Sto cercando sviluppatori che abbiano implementato un discreto numero di app Django e scopri qual è la loro opinione. Questo è per un'app Web di piccole e medie dimensioni.

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top