I use yours sugestion but don't work, I definet again my database in
web2py, I think that is to work with a big app, but is for my meaby
the best solution, and now sendme a new error what is the keywork
arg????

Traceback (most recent call last):
  File "/home/kike/sbdv/web2py/gluon/restricted.py", line 171, in
restricted
  File "/home/kike/Desktop/web2py/applications/SBDV/models/db.py",
line 6
    Field('name', length=128, migrate=False))
SyntaxError: non-keyword arg after keyword arg

here is a small view of my code:

(........)
vul=DAL('mysql://root:r...@localhost/sbdv',pool_size=20)
(........)
vul.define_table('object_vendors',migrate=False,
                 Field('name', length=128, migrate=False))
vul.define_table('object_products', migrate=False,
                 Field('name',length=128, migrate=False))
vul.define_table('object_versions', migrate=False,
                 Field('name', length=128, migrate=False))
vul.define_table('object_correlations', migrate=False,
                 Field('object_vendor_id', 'integer',
vul.object_vendors.id, migrate=False),
                 Field('object_product_id', 'integer',
vul.object_products.id, migrate=False),
                 Field('object_version_id', 'integer',
vul.object_versions.id, migrate=False))
(.......)


On Mar 21, 10:28 am, mdipierro <mdipie...@cs.depaul.edu> wrote:
> Oops you are right. The problem is here then:
>
> auth_table=db.define_table(
>     ...
>     Field('preference', vul.object_vendors, label='Preferencia
> Principal'),
>     ...)
>
> you cannot have a referent to a different database (db to vul). You
> can use a trick:
>
> auth_table=db.define_table(
>     ...
>     Field('preference', 'integer', label='Preferencia Principal'),
>     ...)
>
> db.auth_user.preferece.requires=IS_IN_DB(vul,'object_vendors.id')
>
> The last line must be after both dbs and tables are defined.
>
> On Mar 20, 11:03 pm, "mr.freeze" <nat...@freezable.com> wrote:
>
> > db = DAL('mysql://root:r...@localhost/usbdv',pool_size=20)
> > vul=DAL('mysql://root:r...@localhost/sbdv',pool_size=20)
>
> > They're different. Does he need to do fake_migrate to make the .table
> > files?
>
> > On Mar 20, 10:23 pm, mdipierro <mdipie...@cs.depaul.edu> wrote:
>
> > > I do not understand. db and vui connect to the same database. why not
> > > "vui=db"? Are they defined in two different applications? If they are
> > > defined in the same applications db and vui should be the same
> > > connections else they will not see each other tables.
>
> > > On Mar 20, 8:38 pm, kike <eacarm...@estudiantes.uci.cu> wrote:
>
> > > > I have two databases, the first was created by auth, and the second is
> > > > a database with 14 tables, created previusly.
>
> > > > Traceback (most recent call last):
> > > >   File "/home/kike/sbdv/web2py/gluon/restricted.py", line 173, in
> > > > restricted
> > > >   File "/home/kike/Desktop/web2py/applications/SBDV/models/db.py",
> > > > line 58, in <module>
> > > >     Field('second_preference', vul.object_products, label='Preferencia
> > > > Secundaria'))
> > > >   File "/home/kike/sbdv/web2py/gluon/sql.py", line 1270, in
> > > > define_table
> > > >   File "/home/kike/sbdv/web2py/gluon/sql.py", line 1540, in
> > > > _create_references
> > > > SyntaxError: Table: table "object_vendors" does not exist
>
> > > > this is my code:
>
> > > > db = DAL('mysql://root:r...@localhost/usbdv',pool_size=20)
>
> > > > from gluon.tools import *
> > > > auth=Auth(globals(),db)
> > > > auth.settings.hmac_key='sha512:582aedbf-4d01-4f41-81ad-ffb7eed2ada4'
> > > > auth_table=db.define_table(
> > > >     auth.settings.table_user_name,
> > > >     Field('first_name', length=128, label='Nombre(s)'),
> > > >     Field('last_name', length=128, label='Apellidos'),
> > > >     Field('email', length=128, unique=True, label='Correo'),
> > > >     Field('password', 'password', length=256, readable=False,
> > > > label='Contraseña'),
> > > >     Field('registration_key', length=128, writable=False,
> > > > readable=False),
> > > >     Field('preference', vul.object_vendors, label='Preferencia
> > > > Principal'),
> > > >     Field('second_preference', vul.object_products, label='Preferencia
> > > > Secundaria'))
> > > >                              # creates all needed tables
>
> > > > auth_table.first_name.requires=IS_NOT_EMPTY()
> > > > auth_table.last_name.requires=IS_NOT_EMPTY()
> > > > auth_table.password.requires=[CRYPT()]
> > > > auth_table.email.requires=[IS_EMAIL(), IS_NOT_IN_DB(db,
> > > > auth_table.email)]
> > > > auth_table.preference.requires=IS_IN_DB(vul,'object_vendors.id','object_vendors.name')
> > > > auth_table.second_preference=IS_IN_DB(vul,'object_products.id','object_products.name')
> > > > auth.settings.table_user=auth_table
> > > > auth.define_tables()
>
> > > > and this is my declaration for the second databases(previusly
> > > > created):
>
> > > > vul=DAL('mysql://root:r...@localhost/sbdv',pool_size=20)
>
> > > > vul.define_table('object_vendors', migrate=False)
> > > > vul.define_table('object_products', migrate=False)
> > > > vul.define_table('object_versions', migrate=False)
> > > > vul.define_table('object_correlations', migrate=False)
> > > > vul.define_table('object_affect_types', migrate=False)
> > > > vul.define_table('object_links', migrate=False)
> > > > vul.define_table('vulnerabilities', migrate=False)
> > > > vul.define_table('credits', migrate=False)
> > > > vul.define_table('authors', migrate=False)
> > > > vul.define_table('ext_reference_types', migrate=False)
> > > > vul.define_table('ext_references', migrate=False)
> > > > vul.define_table('classification_types', migrate=False)
> > > > vul.define_table('classification_items', migrate=False)
> > > > vul.define_table('classifications', migrate=False)

-- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to web...@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