From: Chuck E. <ec...@mi...> - 2001-05-04 04:32:33
|
At 07:23 PM 5/3/2001 +0200, F. GEIGER wrote: >So two questions arise: >1) How can I achieve what I intended to do? >2) How is Webware able to find and create the objects ref'ed by bigint's >like 897658726582765. I did not find them elsewere in the database. > >Concerning (1): Or am I on the wrong way at all? If so, how would you do it? I haven't totally grokked your message, as it's late and my brain is full, but I think I have seen enough to help you some tonight. For objects that are connected, you should haven't to do any SQL clauses at all. The SQL clause feature is provided mostly so you can filter out certain objects, or sort them on the server side. So if you have an "obj ref" type, then you just use it: department.manager() If you have a 1-m relationship, you just use that too: department.employees() # returns a list Under the hood, MK takes care of doing the queries. Those methods are generated for you. More notes: If you want all employees, you can do this: emps = store.fetchObjectsOfClass('Employee') You could also pass the actual Python class instead of a string. Your choice. If you wanted only the ones that started with 'A' you can do this: empsA = store.fetchObjectsOfClass('Employee', clauses="where lastName like 'A%') So stop thinking about doing the joins yourself. MK tries to give you an object model with "references" and "lists". The joins are supposed to happen behind the scenes. See how far you get with that and re-review the Quick Start Guide. That should get you further along and then we can go from there. -Chuck |