There are many ways around this. The easiest is define department
before person and make created_by and modified_by integers instead of
references.

On Oct 21, 4:18 am, billf <[EMAIL PROTECTED]> wrote:
> I want to define tables as follows:
> 1) extend t2_person with additional fields some of which are
> references to other tables (many people work in "department" x?)
> 2) all tables to have created_by and modified_by fields (which
> themselves refer to t2_person)
>
> The problem is that to satisfy 1) I must define "department" before
> t2_person.  To satisfy 2) I must define t2_person before
> "department".  If I import T2 before "department" to get a reference
> to t2_person, the re-definition of t2_person throws "table already
> defined".
>
> Is the only solution to define my own "person" table that contains the
> reference to "department" and a reference to t2_person?   ...and then
> import T2 (and t2_person), define "define" then define my "person".
>
> If the answer is yes then is that seen as "better design" or a "work-
> around"?
>
> A second problem relates to the desire to navigate efficiently through
> a database in more than one direction. In the above example, let
> "person" be a bank account holder and the "other table" be a bank
> account.  Keeping it simple, assume it is a one-to-many relationship,
> one-or-more accounts each owned by 1 account holder. If the only
> reference is from person/account holder to account then a search to
> see who owns account 12345678 is costly.  If the only reference is
> from account to person/account holder then the search for "accounts
> for this account holder" is costly.
>
> However, in web2py, I cannot define an account with a reference to
> person/account holder and a person/account holder with a reference to
> account as one of the other definition fails with an undefined term.
>
> I believe I have to define a third table: person, account and
> account_holder to overcome this.  Is that correct?
>
> It seems the bottom-line is that the database design is constrained by
> the fact that the table definitions are validated by python in a
> single pass.  If that is true it seems unfortunate.
>
> I would be very happy if someone can show me the error of my ways:
> either the way to define the above tables or explain why I shouldn't
> want to.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to