[Python] Applicazione WEB con Python e Postgresql
Marco De Paoli
depaolim a gmail.com
Mar 23 Set 2014 17:33:08 CEST
Il 23 settembre 2014 17:25, Daniele Varrazzo <piro a develer.com> ha scritto:
>
> Puoi comunque definire i tuoi oggetti dichiarando i campi che hanno, usando
> "primary_key=True" per uno qualunque di loro (altrimenti Django assume che
> c'e' un campo id che fa da pkey) ed evitando di usare il suo sql per la
> generazione delle tabelle. Non testato (e' da un po' che non scrivo django):
>
> class MiaCosa(models.Model):
> key1 = models.IntegerField(primary_key=True)
> key2 = models.IntegerField() # parte della pkey ma django non lo sa.
>
> class AltraCosa(models.Model):
> quellacosa = models.ForeignKey(MiaCosa, db_column="miacosa_key1")
> key2 = models.IntegerField(db_column="miacosa_key2") # parte della
> fkey ma django non lo sa.
>
> Ovviamente tu lo sai che la chiave e' (key1, key2) e userai
> MiaCosa.objects.get(key1=a, key2=b) per prendere un solo oggetto. Hai delle
> limitazioni perche' la fkey non e' definita bene, tipo non potrai usare
> AltraCosa.objects.filter(quellacosa=miacosa). Ma il resto di django funziona
> bene lo stesso. Lo devi solo prendere un po' per il culo :)
Confermo che funziona, ho dovuto usarlo anche io su una tabella
consultata via Django ma non gestita (managed) dal mio applicativo
La chiave era effettivamente composta e usato trucchi in linea con
quelli di Daniele
ciao,
Marco
Maggiori informazioni sulla lista
Python