On Fri, Jul 31, 2009 at 09:36:19AM +0200, Tom Coetser wrote:
> I am trying to get my head around using a ManyToMany relation between tables
> and hope to get some guidance here since the available docs are a bit sparse
> on this (no offence - I know how difficult it is to keep docs up to
> date :-) )
The worst problem with ManyToMany is not documentation. The code was
added by the original author before he left the project, and I don't know if
the code by any means complete. I never used it. Consider it an unfinished
experimental code. Use RelatedJoin or SQLRelatedJoin instead.
> class Member(SQLObject):
> name = StringCol(alternateID=True)
> roles = ManyToMany('Role')
>
> class Role(SQLObject):
> name = StringCol(alternateID=True)
> members = ManyToMany('Member')
>
> I am testing with a SQLite backend for what it's worth.
>
> Q1:
> Is there a way, by adding additional params to the ManyToMany(...)
> declarations for example, to restrict the same role to be added multiple
> times to the same member and vice versa?
>
> Q2:
> Is there a way to restrict/cascade deletes of a role or member if that role
> or
> member has a link to the other?
>
> Q3:
> When deleting a role or member using the .destroySelf() method, the link
> record in the intermediate table is not deleted. Is there a standard way to
> do this? I suppose an answer to Q2 will also address this.
What you want could be achieved by a RelatedJoin with an explicit
intermediate table:
http://sqlobject.org/FAQ.html#how-can-i-define-my-own-intermediate-table-in-my-many-to-many-relationship
In the intermediate table you can set cascade, add unique index, and so
on.
Oleg.
--
Oleg Broytmann http://phd.pp.ru/ [email protected]
Programmers don't die, they just GOSUB without RETURN.
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
sqlobject-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss