Campos de uma tabela no db

7 views
Skip to first unread message

Italo Maia

unread,
Nov 9, 2009, 2:29:51 AM11/9/09
to web2py-users-brazil
Alguém poderia dar/indicar uma explicação do significado de cada campo
opcional de uma tabela no db.py? Alguns eu pude inferir, mas outros,
está complicado...

* length - apenas para strings, define o tamanho da string.
Padrão: 32
* default - valor padrão do campo
* required - campo é obrigatório. Padrão: False
* notnull - campo pode receber valor nulo. Padrão: False
* unique - valor do campo deve ser único nesta coluna. Padrão:
False
* requires - lista de validadores do campo. Usado nos formulários
* comment - ?? Comentário, como o help_text do django ??
* widget - ?? Html renderizado para o campo ??
* represent - ?? ??
* readable - ?? ??
* writable - ?? ??
* update - valor utilizado quando a linha da tabela é atualizada
* uploadfield - ?? ??
* authorize - ?? ??
* autodelete - ?? ??
* label - texto do campo. Funciona como o label do HTML. Usado nos
formulários

Álvaro Justen [Turicas]

unread,
Nov 11, 2009, 8:12:24 PM11/11/09
to web2py-us...@googlegroups.com
2009/11/9 Italo Maia <italo...@gmail.com>:
>
> Alguém poderia dar/indicar uma explicação do significado de cada campo
> opcional de uma tabela no db.py? Alguns eu pude inferir, mas outros,
> está complicado...
>
>    * length - apenas para strings, define o tamanho da string.
> Padrão: 32
>    * default - valor padrão do campo
>    * required - campo é obrigatório. Padrão: False
>    * notnull - campo pode receber valor nulo. Padrão: False
>    * unique - valor do campo deve ser único nesta coluna. Padrão:
> False
>    * requires - lista de validadores do campo. Usado nos formulários
>    * comment - ?? Comentário, como o help_text do django ??
>    * widget - ?? Html renderizado para o campo ??

Quando esse campo é exibido com SQLFORM, o SQLFORM chama a função
db.tabela.campo.widget() com determinados parâmetros e essa função
deve devolver um "widget", que nesse nosso caso é um código HTML
contendo o campo. Veja o arquivo gluon/sqlhtml.py para verificar os
widgets padrões. Nota: você pode criar widgets personalizados
(inclusive herdar dos widgets já existentes) para suprir necessidades
"especiais".

>    * represent - ?? ??

É parecido com o widget, só que esse é para ser usado na visualização
da tabela (usando SQLTABLE). Ou seja, o db.tabela.campo.widget() é
chamado quando você quer mostrar um formulário de inserção ou
modificação e o db.tabela.campo.represent é utilizado quando você quer
mostrar o registro.

>    * readable - ?? ??

True ou False, configura se o campo pode ser lido como padrão (no SQLTABLE).

>    * writable - ?? ??

True ou False, configura se o campo pode ser escrito como padrão (no SQLTABLE).

>    * update - valor utilizado quando a linha da tabela é atualizada
>    * uploadfield - ?? ??

True ou False, se é um campo de upload.

>    * authorize - ?? ??
>    * autodelete - ?? ??

usando em Set.delete_uploaded_files(). Set é um conjunto de possíveis
registros retornado da chamada db(expressão).

>    * label - texto do campo. Funciona como o label do HTML. Usado nos
> formulários


Dica: crie uma tabela, utilize todas opções que puder e vá vendo o
resultado de um SQLFORM e SQLTABLE da tabela para ver as opções em
funcionamento.

Nota: para os que eu não respondi, veja os arquivos gluon/sql.py e
gluon/sqlhtml.py

>
--
Álvaro Justen
Diretor de Desenvolvimento
Peta5 - Nós fazemos TV digital
http://www.peta5.com.br/
21. 3021-6001 / 9898-0141
Reply all
Reply to author
Forward
0 new messages