It was before coffee.  I see where my thinking went astray.

The product doesn't need to reference multiple objects but should have
a relationship with many pictures and reviews etc.  I removed those
references and it works ok.

I am not sure at this point if I need multiple description tables or
not.   I will have to think about this design a little more as I am
still learning MVC and Web2Py.   In my PHP app multiple descriptions
gave me the ability to host different formats of content for a single
product.  I could do plaintext and html descriptions for use in two
different places.


On Nov 9, 7:29 am, Mladen Milankovic <mml...@gmail.com> wrote:
> Hi.
>
> Please, explain why you need a separate description table, and why is it
> referencing product while the same time product references description table.
> I think something is wrong with the database design. I didn't come across any
> database that would need this kind of referencing. If you write more about
> what you want to accomplish, we can help easier.
> Should this be a many-to-many connection?
>
> You can reference only tables that are defined before the table from where you
> are creating the reference.
>
> regards
> mmlado
>
> On Monday 09 November 2009 14:16:56 David wrote:
>
> > Ok so I removed the db. from all the references.  I am still getting a
> > similar error about tables not existing.
>
> > ======
> > Traceback (most recent call last):
> >   File "/var/www/web2py/gluon/restricted.py", line 184, in restricted
> >     exec ccode in environment
> >   File "/var/www/web2py/applications/inventory/models/db.py", line 74,
> > in <module>
> >     Field('review', 'reference review'))
> >   File "/var/www/web2py/gluon/sql.py", line 1195, in define_table
> >     t._create_references()
> >   File "/var/www/web2py/gluon/sql.py", line 1454, in
> > _create_references
> >     raise SyntaxError, 'Table: table \'%s\'does not exist' %
> > referenced
> > SyntaxError: Table: table 'product_description'does not exist
>
> > =====
>
> > On Nov 9, 6:55 am, Mladen Milankovic <mml...@gmail.com> wrote:
> > > Hi.
>
> > > When using reference you don't need the db. part. Only the name of the
> > > table.
>
> > > Like:
> > > Field('description', 'reference product_description'),
>
> > > It uses the same database as the table you are just creating.
>
> > > regards
> > > mmlado
>
> > > On Monday 09 November 2009 13:51:05 David wrote:
> > > > So I have the following code and it's not generating tables but
> > > > perhaps my thinking isn't quite clear on this.  I can't link two
> > > > tables unless one exists previously and that table cannot reference
> > > > any other table that is not created unless a reference is used....
> > > > explain why this gives me "Tables do not exist" errors no matter which
> > > > order I use...
>
> > > > db.define_table('product',
> > > >     Field('date_added', 'datetime'),
> > > >     Field('date_available', 'datetime'),
> > > >     Field('name', length=55),
> > > >     Field('quantity', 'integer'),
> > > >     Field('price', length=10),
> > > >     Field('description', 'reference db.product_description'),
> > > >     Field('image', 'reference db.image'),
> > > >     Field('review', 'reference db.review'))
>
> > > > db.define_table('image',
> > > >     Field('product_id', 'reference db.product'),
> > > >     Field('name'),
> > > >     Field('file', 'upload'))
>
> > > > db.define_table('product_description',
> > > >     Field('prduct_id', 'reference db.product'),
> > > >     Field('description', 'text'))
>
> > > > db.define_table('review',
> > > >     Field('product_id', 'reference db.product'),
> > > >     Field('rating'),
> > > >     Field('review', 'text'))
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to