Re: Many-to-many relationship example doesn't work?
Sebastien Bigaret <[email protected]> Fri, 13 Aug 2004 00:27:55 +0200
| Newsgroups | gmane.comp.python.modeling |
|---|---|
| Message-ID | <[email protected]> |
Oh well, sorry, I'm sure it's not the first time it's been reported but left uncorrected, isn't it? [email protected] wrote: > I've looked into CustomObject.py, and i could'nt find any assigment of > REAL editing, context, only initial definition 'lambda self: None' > Did i misunderstood something, or this example code in User's guide > is > just out-dated? With Erny's correction this should work. And about CustomObject.editingContext(): it's assigned whenever the object is inserted or fetched within an EC. -- Sébastien. Ernesto Revilla wrote: > > Hi, > > You have to add the instance to both sides of the relation, the > a.setPerson(p) > > is missing. > > To add an instance to both sides of a relation, you can do also: > > p.addObjectToBothSidesOfRelationshipWithKey(a, ÂaddressesÂ) > > Erny > > > [email protected] escribió: > > >Hello, > > > >First of all thanks to Sabastien for his efforts creating this > framework. > >Projects I'm involved now requires lots of Many-To-Many relations in > E-R > >model, so I've tried adding methods (for tranparent access to > correlation > >entity) as described in the example in UsersGuide 2.6.3. But those > methods > >doesn't work. So I've copy-pasted example from user's guide, but it > did'nt > >work as well.: > >i.e I add methods getAddresses(), addToAddresses() > >to the class "Person", Then I try to run a code, that uses those > classes: > >------------- > >#test.py > >from Modeling.EditingContext import EditingContext > >from MM1 import Person, Address > >ec=EditingContext() > >p = Person.Person() > >a = Address.Address() > >p.addToAddresses(a) > >ec.insert(p) > >ec.insert(a) > >ec.saveChanges() > >----------------- > >I get an error: > >Traceback (most recent call last): > > File "./test.py", line 8, in ? > > p.addToAddresses(a) > > File "/tmp/test2/MM1/Person.py", line 76, in addToAddresses > > self.editingContext().insert(_pa) > >AttributeError: 'NoneType' object has no attribute 'insert' > >----------------- > >I've looked into CustomObject.py, and i could'nt find any assigment > of > >REAL editing, context, only initial definition 'lambda self: None' > >Did i misunderstood something, or this example code in User's guide > is > >just out-dated? > > > >Can someone please give me some guidlines? > > > >I'm using: Python 2.3, Modeling: 0.9-pre-17.1 ------------------------------------------------------- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift. http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285