On 3 déc, 17:59, "Diez B. Roggisch" <[EMAIL PROTECTED]> wrote:
> On Monday 03 December 2007 17:49:15 lolostar wrote:
>
>
>
> > On 3 déc, 17:37, "Diez B. Roggisch" <[EMAIL PROTECTED]> wrote:
> > > On Monday 03 December 2007 16:56:07 lolostar wrote:
> > > > Hi,
>
> > > > I try to use a foreign key and a multiple join in my model but as my
> > > > fkey column is named ''agence' in my model, it is created as
> > > > 'agence_id' in my database and, here's the problem, whenever I call
> > > > 'AgenceEDF.get(1).photos()' for example, the sql generated uses the
> > > > 'agence' name :
>
> > > > ProgrammingError: column "agence" does not exist
> > > > LINE 1: SELECT id FROM agences.photo WHERE agence = (1)
>
> > > > Here's my model :
>
> > > > class AgenceEDF(SQLObject):
> > > > class sqlmeta:
> > > > table ='agences.agenceedf2'
> > > > idName ='id'
> > > > codepostal = UnicodeCol(length=5)
> > > > lat = FloatCol(default=None)
> > > > lon = FloatCol(default=None)
> > > > nom = UnicodeCol(length=100,varchar=True)
> > > > adresse = UnicodeCol(length=100,varchar=True)
> > > > complement_adresse = UnicodeCol(length=100,varchar=True)
> > > > commune = UnicodeCol(length=100,varchar=True)
> > > > telephone = UnicodeCol(length=25,varchar=True, default=None)
> > > > plage_horaire = UnicodeCol(length=100,varchar=True, default=None)
> > > > jours_ouverture = UnicodeCol(length=100,varchar=True,
> > > > default=None)
> > > > dcpp = UnicodeCol(length=25,varchar=True, default=None)
> > > > type_accueil = UnicodeCol(length=25,varchar=True, default=None)
> > > > photos = MultipleJoin('Photo',joinColumn='agence')
>
> > > > class Photo(SQLObject):
> > > > class sqlmeta:
> > > > table ='agences.photo'
> > > > idName ='id'
> > > > agence = ForeignKey('AgenceEDF')
> > > > image = BLOBCol(default=None)
> > > > thumbnail = BLOBCol(default=None)
> > > > created = DateTimeCol(default = datetime.now)
> > > > tag = UnicodeCol(length = 10,default=None)
> > > > description = UnicodeCol(default=None)
>
> > > > agence_idx = DatabaseIndex("agence")
>
> > > > Any idea ?
>
> > > Just get rid of the joinColumn attribute in the AgenceEDF.photos column
> > > descriptor.
>
> > > Diez
>
> > Hi,
>
> > when I do that, I get an error : the SQL generator forgets the from
> > clause and is looking for a wrong 'agenceedf2_id' in agenceEDF.
> > But, when I replace :
> > agence = ForeignKey('AgenceEDF')
> > by
> > agence = IntCol()
>
> > it works just fine ...
> > --~--~---------~--~----
>
> Hm. I'm not sure then, but maybe you should use
>
> Child.ForeignKey
>
> Parent.RelatedJoin
>
> insttead of MultipleJoin.
>
> If everything goes wrong, pinning down the columnName on both parts of the
> join should be an option, to.
>
> Diez
Thanks Diez,
SO is weird sometimes :)
Regards
Laurent
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"TurboGears" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/turbogears?hl=en
-~----------~----~----~----~------~----~------~--~---