Sandro Dentella ha scritto: >>>> 1) Credo ci si sforzi troppo di seguire il principio DRY >>>> (Dont Repeat Yourself). >>>> Infatti nel model ci sono cose che non dovrebbero esserci. >>> ad esempio? >>> >> Nel model compare la classe Admin in cui sono presenti dei dettagli che >> riguardano la "view". >> Lo stesso nella definizione dei vari elementi (come ForeignKey), in cui >> ci sono delle cose che riguardano la view. > > capisco l'obiezione ma non mi disturba. Non sono un teorico dell MVC che > peraltro anche nella "variante django" apprezzo, ma reputo che in fatto che > la classe Admin sia "lì" nello stesso file di definizione della classe non > confonda rispetto al fatto che "sopra" ci sta la definizione del modello e > nella clase Admin alcune cose specifiche della presentazione dei dati. >
Di certo non confonde, e di certo questa feature aiuta a definire tutto in un solo posto. Tuttavia credo che sia stata una forzature cercare di definire tutto in un solo posto. >>>> 2) Django non è nato come framework general purpose, ma lo è diventato >>>> grazie ad una buona politica "commerciale" (IMHO) e ad una >>>> architettura buona in partenza. >>>> Questo temo se lo porterà dietro per sempre. >>> in cosa noti che non sia nato "general purpouse"? >>> >> Lo dicono loro stessi: è nato per servire il loro sito di notizie online >> (e si vede che è orientato a siti di questo tipo, con un enfasi alla >> cronologia degli ogetti, alla sezione media, etc). > > porrei la domanda al contrario, cosa ti pare che manchi per farne un > "general purpouse". Il fatto che nasca in un certo ambito non è un peccato > originale, è una circostanza. > Non l'ho ancora usato, quindi magari mi sbaglio. La mia era solo una impressione avuta leggendo la documentazione. >>>> 3) L'ORM è limitato >>>> (ma sembra che stiano lavorando per integrare SQLALchemy). >>> io ho cercato e non mi pare che ci sia nulla più che la mail in cui >>> Roberto Munn dice che ci avrebbe lavorato. Anche nella lista di sqlalchemy >>> qualcuno gli ha chiesto delucidazioni sullo stato e lui non ha risposto, mi >>> pare impegnato in altre cose. >>> >>> E` vero che anche a me sembra un ORM un po' limitato. >>> >> Si, non mi sembra ci sia supporto per le join. > > Errato, c'è eccome. Non ho trovato quelle per OUTER JOIN, ma guarda come ad > esempio scrivi di trovare tutti i ticket di una persona cercandolo fra tutti > i progetti di tutte le organizzazioni di cui fa parte. __ fa automaticamente > la join fra le tabelle, l'ultimo __username indica la WHERE condition. > Si, hai ragione. Un join implicito. Il problema è che Django cerca di usare il database nei minimi termini, usandolo come lo userebbe un programmatore e non un esperto di database relazionali. Per fortuna ti permette di definire le primary key come vuoi tu (ma non di default, in cui vengono usate primary key surrogate). > [...] > > Che poi questo sia più facile da leggere si una QUERY SQL è un altro > discorso, ma sqlalchemy non rende la vita banale > sqlalchemy affronta un problema complesso. Io per ora scrivo tutte le query a mano, usando delle interfacce per l'accesso al database. Il vantaggio è che aggiungo un livello di astrazione dal database (il database ed il codice Python vivono su due piani diversi). Però sono costretto a definire delle interfacce limitate (non posso prevedere tutto e diventerebbe troppo complesso da mantenere). Significa anche riscrivere molto codice (mentre Django ha delle view generiche per la modifica/inserimento di oggetti) > [...] >>>> 4) Ho avuto l'impressione che Django cerchi di favorire troppo chi non è >>>> esperto di programmazione/Python (e questo, di solito è male). >>> ??? Cosa ti da questa impressione? il fatto che fornisca molte funzioni >>> pronte all'uso(vedi le generic-views)? mi pare solo una cosa bella anche per >>> chi programma... >>> >> Nella documentazione ci sono spesso delle note riguardo chi si avvicina >> a Django senza avere esperienza in Python (web designer puri). > > E` un limite? mi pare che non rinuncino a nulla della potenza per andargli > incontro... > Speriamo! Magari è una cosa che hanno aggiunto recentemente. > [...] Saluti Manlio Perillo _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python