[Python] Applicazione WEB con Python e Postgresql

Marco De Paoli depaolim a gmail.com
Mar 23 Set 2014 17:29:51 CEST


Il 23 settembre 2014 16:58, Daniele Varrazzo <piro a develer.com> ha scritto:
> evitare a pie' pari l'intero layer dell'orm

però così ti perdi l'admin!
che a mio parere fa, di suo, un gran lavoro (e ne risparmia un sacco
al programmatore)

... eh, siamo finiti su un annosa questione del mondo django: to admin
or not to admin, that is the question ...
(flame! flame! ;-)

> trovo molto piu' semplice scrivere una query invece di ricordarmi di usare "data__lte", come si fa l'eagerload... ma forse sono di parte.

forse sì

però in effetti...

Pippo.objects.exclude(Q(alias__isnull=True) | Q(alias__exact=''))

devo ammettere che a volte anche a me risulterebbe più immediato scrivere:

SELECT * FROM app_pippo WHERE alias IS NOT NULL AND alias != ''

(per non parlare dei casi di join!)

Poi credo anche che dipenda il background specifico di ognuno: ci sarà
chi è più congeniale con l'SQL e chi con la notazione dell'ORM

L'importante è poter andare di cursore raw quando ne hai bisogno: o
perchè la query è complessa oppure per un discorso di efficenza

Certo, rimane il fatto è che se carichi i dati da cursore poi non hai
oggetti, bensì tuple.
E quindi ti perdi, in cascata, un sacco di facility che Django ti fornirebbe
L'admin è il caso top, però ci sono anche cose molto più semplici
Per esempio con ModelForm lasci costruire a Django i widget in base al
tipo del campo del model (cosa che non funzionerebbe con una tupla di
valori raw)
Etc. etc.

ciao,
Marco


Maggiori informazioni sulla lista Python