[pyar] Campo Primario Web2py

Roberto Perdomo robertop23 en gmail.com
Jue Feb 3 19:57:37 ART 2011


Pero aun teniendo conocimiento de esa excepcion de la base de datos, me pareceria correcto que web2py supiera manejarla.

Muchas gracias, mañana hare las pruebas pertinentes entonces con IS_NOT_IN_DB

----- Mensaje original -----
> Las restricciones primarykey, unique y notnull   se aplican a nivel de
> datos, web2py no las verifica, simplemente crea las tablas con esas
> condiciones, y el servidor de base de datos debería hacer el resto
> (por lo que los conectores lanzan excepciones).
>
> Los validadores (IS_NOT_IN_DB, IS_IN_DB, IS_NOT_EMPTY) funcionan a
> nivel de los controladores/vistas, son verificados antes de modificar
> la base de datos, cuando el usuario utiliza un formulario (y muestran
> un mensaje de error en la pantalla, con la posibilidad de corregir el
> formulario).
>
> En el libro está explicado en detalle:
>
> http://www.latinuxpress.com/books/drafts/web2py/caps/cap6.html#representacion-de-registros
>
> En este caso, con IS_NOT_IN_DB no aceptaría el formulario mostrando un
> error al usuario si esta duplicado algún valor.
>
> Sds
>
> Mariano Reingart
> http://www.sistemasagiles.com.ar
> http://reingart.blogspot.com
>
> 2011/2/3 nicolás rosbaco <antiyanki en gmail.com>:
> > me faltó decir que estoy trabajando con web2py
> >
> > El 3 de febrero de 2011 19:30, nicolás rosbaco <antiyanki en gmail.com>
> > escribió:
> > >
> > > Hola, mira no tengo la solución... pero si me paso algo parecido y de
> > > pronto por acá puedo llegar a saber que pasa.
> > >
> > > En mi caso el unique tampoco anduvo (¿ignoro por que??) pero utilicé
> > > lo siguiente:
> > >
> > > db.nadadores.email.requires = IS_NOT_IN_DB(db, 'nadadores.email',
> > > error_message='Dirección de mail duplicada. Ya existe un usuario
> > > registrado con esta dirección de mail')
> > >
> > > La verdad que me gustaría saber para que sirve el unique, ya que
> > > suponía lo mismo que vos
> > >
> > >
> > > 2011/2/3 Roberto Perdomo <robertop23 en gmail.com>
> > > >
> > > > Buenas tardes,
> > > >
> > > > Alguien de casualidad tiene conocimiento en cuanto a como definir
> > > > un campo primario adicional en una tabla.
> > > >
> > > > Tengo por ejemplo una tabla:
> > > >
> > > > db.define_table('tipo_nomina',
> > > >       SQLField('nomina', type='string', length=40, notnull=True,
> > > > required=True, unique=True)
> > > >       )
> > > >
> > > > Donde unique=True supuestamente debería funcionar y hacer que no se
> > > > permitan valores repetidos para el campo nomina, pero, al añadir
> > > > un valor repetido resulta el siguiente error:
> > > >
> > > >
> > > > IntegrityError: duplicate key value violates unique constraint
> > > > "tipo_nomina_nomina_key"
> > > >
> > > > Investigue un poco y dicen que es un error de la Base de Datos, en
> > > > mi caso es Postgres. Entonces Web2py no es capaz de manejar o
> > > > mejor dicho, generar un error para cuando se esta insertando un
> > > > valor repetido en un campo?
> > > >
> > > > Intente con primarykey = ['nomina'], pero fue infructuoso.
> > > >
> > > > lo que quisiera seria realmente poder definir un campo primario
> > > > para evitar valores repetidos, pero no encuentro la manera
> > > > adecuada para ello.
> > > >
> > > > PD: los formularios son generado utilizando SQLFORM y CRUD
> > > >
> > > > Gracias de antemano
> > > >
> > > >
> > > >
> > > >
> > > > _______________________________________________
> > > > pyar mailing list pyar en python.org.ar
> > > > http://listas.python.org.ar/listinfo/pyar
> > > >
> > > > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> > >
> > >
> > >
> > > --
> > > "En un país colonial las oligarquías son las dueñas de los
> > > diccionarios" (John William Cooke)
> >
> >
> >
> > --
> > "En un país colonial las oligarquías son las dueñas de los
> > diccionarios" (John William Cooke)
> >
> > _______________________________________________
> > pyar mailing list pyar en python.org.ar
> > http://listas.python.org.ar/listinfo/pyar
> >
> > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> >
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20110203/9a59db18/attachment.html>


More information about the pyar mailing list