[Zope-DB] Example for RDB persistency in zope products?

Dieter Maurer dieter at handshake.de
Fri Jun 25 14:59:02 EDT 2004


Nick Bower wrote at 2004-6-25 20:22 +0200:
>Does anyone have any examples of how I code relational database
>persistency into an object (at a Zope product level)?
>
>I've an application written to view and manage complex organisational
>data in Python scripts, ZPTs and ZSQL methods, and would like to move it
>to the product level and into persistent object land.  However, the RDB
>persistency aspect is what I'm most confused about.
>
>I've seen people talk about doing the following:
>
>1. Inherit from ZSQL methods for their business objects
>2. Call ZSQL methods from their business object logic
>3. Using an existing DA, such as psycopg, directly, bypassing ZSQL
>methods, and calling the DA connection methods from business logic
>4. Writing their own DA for integration with business logic
>
>3. would have seemed to me like the practical way to go, but I'm just 
>not sure where to start for lack of documentation promoting any way 
>other than using ZSQL.

I would use Z SQL Methods.

If necessary, I would use them as class variables:

   from Products.ZSQLMethods.SQL import SQL

   class YourClass(...):

       mySQLMethod1 = SQL('mySQLMethod1', ''
		          connection_id, arguments1, template1)       
       mySQLMethod2 = SQL('mySQLMethod2', ''
		          connection_id, arguments2, template2)       
       ...

You can then access them via "YourInstance.mySQLMethod1", ...

-- 
Dieter


More information about the Zope-DB mailing list