Deletar 1 ítem de list:reference

9 views
Skip to first unread message

Volney Casas

unread,
May 25, 2017, 4:40:19 PM5/25/17
to web2py-users-brazil
Olá pessoal
Eu tenho duas tabelas, categorias e produtos, sendo que o campo categorias na tabela produtos deve ser um 'list:reference categorias':

categorias
|  id  |  categoria  |
|  1   |  cat1          |
|  2   |  cat2          |
|  3   |  cat3          |

produto
|  id  |  nome  |  categorias  |
|  1   | produto1   |  |1|2|        |
|  2   | produto2   |  |1|2|3|      |

Estou tendo um problema pq se eu excluir a categoria 2 por exemplo, ela não é excluida do campo list:reference, aí já sabem a coisa quebra bonito.
Alguém tem ideia de como eu devo proceder?

Carlos Costa

unread,
May 25, 2017, 4:55:55 PM5/25/17
to web2py-us...@googlegroups.com
O melhor seria usar uma terceira tabela para fazer o relacionamento e deixar o ondelete='CASCADE' fazer o serviço dele.
Isso em termos de banco relacional.

Mas você pode controlar isso também na aplicação usando hooks, _before_delete nessa tabela.
Nesse hook você cria um código para buscar nas tabelas que referem e excluir o item.

--
Você recebeu essa mensagem por estar inscrito no grupo web2py-users-brazil.
Para enviar uma mensagem ao grupo, envie email a: web2py-users-brazil@googlegroups.com
Para se desinscrever, envie email a: web2py-users-brazil+unsub...@googlegroups.com
Para mais opções, visite o site do grupo em: http://groups.google.com/group/web2py-users-brazil?hl=en
---
Você recebeu essa mensagem porque está inscrito no grupo "web2py-users-brazil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para web2py-users-brazil+unsub...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.



--


Carlos J. Costa
Cientista da Computação  | BS Computer Science
Esp. Gestão em Telecom   |
PgC Telecom Mangement
<º))><

Marlysson Silva

unread,
May 25, 2017, 5:54:06 PM5/25/17
to web2py-users-brazil
Acho que o problema é o list references pra uma lista, visto que ele guarda uma lista e pelo jeito não mantém as referências..poderia usar 3 tabelas..

Categoria, produto_categoria e produto

E fazer o many to many na produto_categoria, e no ondelete da categoria colocar ondelete como cascade que ai vai remover as referências na tabela intermediária..

Acredito eu..
Reply all
Reply to author
Forward
0 new messages