On 2014-09-23 16:14, Marco Fochesato wrote:
Marco, si ho chiavi primarie che contengono campi multipli (e che
belle che
sono...).
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
:)
-- Daniele
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python