From: <sub...@co...> - 2006-11-20 19:35:46
|
Author: phd Date: 2006-11-20 12:35:42 -0700 (Mon, 20 Nov 2006) New Revision: 2102 Modified: SQLObject/docs/FAQ.txt SQLObject/docs/News.txt Log: Note should go first - a note in the end of a section floats to the next section. Reformatted the example so the code doesn't overlap the note. Modified: SQLObject/docs/FAQ.txt =================================================================== --- SQLObject/docs/FAQ.txt 2006-11-20 19:31:31 UTC (rev 2101) +++ SQLObject/docs/FAQ.txt 2006-11-20 19:35:42 UTC (rev 2102) @@ -107,6 +107,19 @@ How can I define my own intermediate table in my Many-to-Many relationship? --------------------------------------------------------------------------- +.. note:: + In User and Role, SQLRelatedJoin is used with createRelatedTable=False + so the intermediate table is not created automatically. We also set the + intermediate table name with intermediateTable='user_roles'. + UserRoles is the definition of our intermediate table. + UserRoles creates a unique index to make sure we don't have duplicate + data in the database. + We also added an extra field called active which has a boolean value. + The active column might be used to activate/deactivate a given role for + a user in this example. + Another common field to add in this an intermediate table might be a sort + field. + We'll expand on the User and Role example and define our own UserRoles class which will be the intermediate table for the User and Role Many-to-Many relationship. @@ -116,11 +129,15 @@ ... class sqlmeta: ... table = "user_table" ... username = StringCol(alternateID=True, length=20) - ... roles = SQLRelatedJoin('Role', intermediateTable='user_roles', createRelatedTable=False) + ... roles = SQLRelatedJoin('Role', + ... intermediateTable='user_roles', + ... createRelatedTable=False) >>> class Role(SQLObject): ... name = StringCol(alternateID=True, length=20) - ... users = SQLRelatedJoin('User', intermediateTable='user_roles', createRelatedTable=False) + ... users = SQLRelatedJoin('User', + ... intermediateTable='user_roles', + ... createRelatedTable=False) >>> class UserRoles(SQLObject): ... class sqlmeta: @@ -130,20 +147,7 @@ ... active = BoolCol(notNull=True, default=False) ... unique = index.DatabaseIndex(user, role, unique=True) -.. note:: - In User and Role, SQLRelatedJoin is used with createRelatedTable=False - so the intermediate table is not created automatically. We also set the - intermediate table name with intermediateTable='user_roles'. - UserRoles is the definition of our intermediate table. - UserRoles creates a unique index to make sure we don't have duplicate - data in the database. - We also added an extra field called active which has a boolean value. - The active column might be used to activate/deactivate a given role for - a user in this example. - Another common field to add in this an intermediate table might be a sort - field. - How Does Inheritance Work? -------------------------- Modified: SQLObject/docs/News.txt =================================================================== --- SQLObject/docs/News.txt 2006-11-20 19:31:31 UTC (rev 2101) +++ SQLObject/docs/News.txt 2006-11-20 19:35:42 UTC (rev 2102) @@ -97,6 +97,8 @@ SQLObject 0.7.2 =============== +Released 20 Nov 2006. + Features & Interface -------------------- |