[Python] Mappare una classe ad una vista con SQLObject
Christian
grullonet a alice.it
Sab 20 Set 2008 22:18:54 CEST
On sab, 2008-09-20 at 22:12 +0200, Christian wrote:
> Salve a tutti,
> da un po di giorni mi sto cimentando con turboGears e sto incontrando
> problemi a mappare una classe ad una vista del mio database
> (Postgresql).
> Il mio database di esercizio ha una tabella:
>
> CREATE TABLE utente
> (
> id serial NOT NULL,
> user_name character varying(20) NOT NULL,
> first_name text,
> middle_initial character varying(1),
> last_name text,
> CONSTRAINT utente_pkey PRIMARY KEY (id),
> CONSTRAINT utente_user_name_key UNIQUE (user_name)
> )
>
> ed una vista:
>
> CREATE OR REPLACE VIEW v_utente AS
> SELECT u.id, u.user_name AS uname, u.first_name AS fname
> FROM utente u;
>
> Nel model vorrei mappare due classi direttamente dal database con
> sqlmeta e l'attributo formDatabase:
>
> class Utente(SQLObject):
> class sqlmeta:
> fromDatabase=True
>
> class vutente2(SQLObject):
> class sqlmeta:
> fromDatabase=True
> table="vutente2"
> idName="id"
Ho incollato una vecchia versione (scusate):
class vutente2(SQLObject):
class sqlmeta:
fromDatabase=True
table="v_utente"
idName="id"
(L'errore ovviamente resta...)
>
> Il problema è proprio sulla vista che mi riporta sempre il seguente
> errore quando eseguo il comando sql-admin shell:
>
> assert primaryKey, "No primary key found in table %r" % tableName
>
> Leggendo sulla documentazione di SQLObject, ho visto che uno dei vincoli
> è la necessità di avere un solo campo come PK, ma la vista si appoggia
> ad una tabella (è la stessa) con un unico campo di PK.
>
> Qualcuno sa dirmi come fare per creare una classe che mappi una VISTA?
>
> Grazie e spero di essere stato sufficentemente chiaro
>
> Christiam
>
>
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome: non disponibile
Tipo: application/pgp-signature
Dimensione: 189 bytes
Descrizione: This is a digitally signed message part
Url: http://lists.python.it/pipermail/python/attachments/20080920/4c9bfbe8/attachment.pgp
Maggiori informazioni sulla lista
Python