[Python] Django e ManyToMany problem
Carlos Catucci
carlos.catucci a gmail.com
Mer 9 Maggio 2012 00:11:23 CEST
Scusate ma ho una situazione strampalata che non riesco a risolvere.
La situazione, due tabelle da mettere in relazione tra loro in ManyToMany.
tabella DatePartenze e tabella Prezzi
La prima contiene una seire di date e ciascuna fa riferimento ad un codice
prezzo che si trova su prezzi.
Solo che Prezzi e' una tabella strana. In pratica ciascun prezzo ha piu'
record, raggruppati da un codice.
Esempio
id
codice
voce
giorni
prezzo
dove piu' record (con id differenti) hanno lo stesso codice.
Unirle non e' banale. Ho impostato cosi' il model
class Prezzi(models.Model):
codiceprezzo = models.IntegerField(db_column='CodicePrezzo',blank=False)
voce = models.CharField(max_length=30, db_column='Voce', blank=False)
giorni = models.IntegerField(db_column='giorni', blank=True)
importo = models.FloatField(db_column='importo', blank=True)
attiva = models.BooleanField(default=1, db_column='Attiva')
def __str__(self):
return self.voce+" "+self.giorni+" "+self.importo
def __unicode__(self) :
return u"%s" % (self.voce,self.giorni, self.importo,)
class Meta:
verbose_name_plural = "Prezzi"
db_table = u'Prezzi'
class Admin:
pass
class DatePartenze(models.Model):
idvillaggio = models.ForeignKey(Villaggi, db_column='IdVillaggio')
idaereoportopartenza = models.ForeignKey(Aereoporti,
db_column='IdAereoportoPartenza', unique=False)
codiceprezzo = models.ManyToManyField(Prezzi, db_column='CodicePrezzo',
through='Dpcp', symmetrical=True, related_name='dpcp.codiceprezzo')
datapartenza = models.DateField(db_column='DataPartenza', blank=False)
idlineaaerea = models.ForeignKey(LineeAeree, db_column='IdLineaaerea')
giornopartenza = models.TextField(max_length=30,
db_column='GiornoPartenza', blank=False)
idaereoportopartenzascalo = models.ForeignKey(Aereoporti,
related_name='IdAereoportoPartenzaScalo',
db_column='IdAereoportoPartenzaScalo')
idaereoportoritorno = models.ForeignKey(Aereoporti,
related_name='IdAereoportoRitorno', db_column='IdAereoportoRitorno')
dataritorno = models.DateField(db_column='DataRitorno', blank=False)
giornoritorno = models.TextField(max_length=30,
db_column='GiornoRitorno', blank=False)
idaereoportoritornoscalo = models.ForeignKey(Aereoporti,
related_name='IdAereoportoRitornoScalo',
db_column='IdAereoportoRitornoScalo')
trattamento = models.CharField(max_length=30, db_column='Trattamento',
blank=False)
attiva = models.BooleanField(default=1, db_column='Attiva')
def __str__(self):
return self.datapartenza
def __unicode__(self) :
return u"%s" % (self.datapatenza,)
class Meta:
verbose_name_plural = "Date partenza"
db_table = u'DatePartenza'
class Admin:
pass
Pero' non riesco ad acedere da DatePartenze ne a Prezzi ne alla tanelal
pivot che crea. QUalche hint? Googolare non ha prodotto risultati degni di
nota.
Grazie
Carlos
--
If you have no voice, SCREAM! If you have no legs, RUN! If you have no
hope, INVENT!
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20120509/b14a7ed1/attachment.html>
Maggiori informazioni sulla lista
Python