2012/11/14 leonardo <
leonard...@gmail.com>:
> Tenho duas situações em que preciso usar exatamente o mesmo form.
> Só que em uma, um dos campos é obrigtaório e na outra não.
Então não é "exatamente" o mesmo form ;-)
> Conhecem alguma solução para fazer isto sem duplicar o form só por causa de
> um atributo required=False ?
Que tal usar herança? O form original é uma classe. Crie uma subclasse
apenas para sobrescrever o campo em questão e pronto. Duas linhas de
código, extremamente legível. Não precisa implementar nenhum método.
Foi por situações assim que os inventores da OO inventaram herança.
[ ]s
Luciano
PS. Eu não gosto muito de usar herança com models no Django, porque o
modelo relacional não casa bem com isso, por isso o Django oferece N
maneiras de fazer herança de models, todas mais ou menos
insatisfatórias. Mas no caso de Forms, funciona muito bem.
--
Luciano Ramalho / OFICINAS TURING
Twitter: @ramalhoorg
Autor e professor dos cursos:
* Objetos Pythonicos -->
http://turing.com.br/oopy
* Python para quem sabe Python -->
http://turing.com.br/ppqsp