Por José Lopes
Em algumas situações necessitamos de relaccionar dois QuerySets.
A solução depende se os QuerySets em causa são sobre o mesmo modelo ou não, e aqui neste artigo apresento ambos as soluções.
A informação aqui apresentada foi baseada neste thread.
Este é um post de José Lopes.
O admin do Django tem uma série de widgets que podem ser utilizados em qualquer form do utilizador.
Na documentação do Django é feita referência a isso ( Media and Django Admin) mas nenhum exemplo prático é dado. Em buscas pela internet verificamos que muita gente tentou utilizar esse widgets sem sucesso, especialmente o AdminDateWidget que possibilita ter um agradável calendário popup para escolher a data.
Este post mostra como utilizar este widget, explicando o porquê de tantas tentativas falhadas.
A informação apresentada também é válida para o widget AdminTimeWidget. Outros widgets poderão ser objecto de outros posts caso se justifique.
A primeira versão oficial do Django já saiu! Todos os post sobre o Django que se seguem depois deste têm como objecto esta versão.
Este é um post de José Lopes.
Este post exemplifica como criar um modelo no Django com um atributo composto por outros dois, assegurando a unicidade do mesmo.
Este é um post de José Lopes.
Quando se faz o upload de imagens num projecto em Django é de esperar que elas possam ser visíveis quando se edita o registo associado na página de administração.
Este post mostra precisamente o se pode fazer, de uma forma simples, para mostrar as imagens quando se edita na administração um registo que as possua.
Este é um post de José Lopes.
Aquando da utilização da administração do Django obtive o seguinte erro de validação para o modelo de imagem models.ImageField, apesar dos ficheiros serem imagens:
Upload a valid image. The file you uploaded was either not an image or a corrupted image
Este post mostra uma forma de contornar este problema.
Este é um post de José Lopes.
No painel de administração do Django a opção list_display não aceita campos ManyToManyField, estando devidamente mencionado na sua documentação. A razão deve-se ao facto de tais campos forçarem uma declaração SQL para cada linha da tabela.
Nesta mesma documentação sugere-se, no caso de queremos um campo deste tipo, criar um método e incluí-lo no list_display. Infelizmente não mostra um exemplo prático, ou pelo menos eu não o encontrei, pelo que este post visa mostrar um exemplo de tal funcionalidade.