[Python] [pythonisti] model, atto secondo

Manlio Perillo manlio_perillo a libero.it
Gio 18 Gen 2007 17:03:23 CET


Lawrence Oluyede ha scritto:
>> - per Tag ci voglio pensare su, magari usiamo anche un altro nome
> 
> Semplicemente i tag sono le specialties del programmatore.
> Le keywords insomma.
> 
> "django twisted zope".split() :-)
> 
> a-la-delicious
> 

Si, questo lo avevo capito.
Stavo pensando a come gestirlo al meglio.

>> - state cosa andrebbe a rappresentare, ad esempio per l'Italia?
> 
> Nulla, per questo è blank=True. Ha un senso per le repubbliche
> federali in cui esiste il concetto di stato, tipo USA, Australia,
> Nigeria
> 

Invece io vorrei un campo che, per l'Italia, significhi regione.
Tutti i campi (eccetto country) possono essere nulli.

>> - non mi convince la foreign key a GeoLocation (visto che quest'ultima
>>    ha già una relazione 1:1 con la tabella User).
> 
> Io l'ho pensata cosi. La geo-locazione ha un senso se legata
> all'utente. 

Ma con una foreign key mi sembra che l'attributo diventi una lista.

> Il nodo però è l'utente e il suo profilo che _possiede_
> una geolocation.
> 
> Io lo toglierei proprio quel one-to-one field da GeoLocation. Non ci serve.
> 

Serve, dato che username *è* la primary key di quella tabella (ogni 
utente ha una sola locazione).

Altrimenti si usa una primary key farlocca, facciamo come dici tu, e 
magari lasciamo aperta la possibilità che una persona abbia più di una 
locazione (ad esempio casa/lavoro, ma in questo caso andrebbe aggiunto 
un campo ulteriore per stabilire il tipo di indirizzo).


>> Per quanto riguarda l'hook non vedo problemi.
>> Se ricordo bene syncdb cerca dei file sql per inizializzare il database.
>> Se vogliamo invece tenere i dati in un formato più agile (come YAML),
>> possiamo anche scrivere uno script di inizializzazione separato.
> 
> Si ma non mi sembrava il caso di introdurre YAML come dipendenza.
> 

YAML era un esempio, va bene anche:
-------------
it, Italia
en, England

-----------


Giusto per non avere un file scomodissimo come 
http://www.italy.fsfeurope.org/it/projects/cap/trovacap.sql.gz

Tra l'altro, con il file formattato come nel mio esempio, possiamo
usare il comando COPY.


>> A parte questi dubbi, per me puoi anche fare il commit (tanto è un
>> modulo indipendente dal resto).
> 
> Ok, allora creo direttamente la app "profile" con quel model
> 

Perfetto.

>> Una volta fatto il commit lo si va a rifinire (obbligatori i commenti in
>>   Place)
> 
> Certo!
> 
> 


Saluti  Manlio Perillo


Maggiori informazioni sulla lista Python