Igor Sobreira

Estruturas de dados do Django

O Django tem um módulo com algumas estruturas de dados bem úteis, que ele usa internamente. Fica em django.utils.datastructures.

Uma delas é a SortedDict, como o nome mesmo já diz, é um dicionário que mantém as chaves ordenadas. Já vi muita gente perguntando como ordenar os itens de um dicionário, taí um jeito.

Ele faz isso herdando de dict e mantendo uma lista interna (keyOrder) com a ordem real das chaves. Não é algo complicado de se fazer, mas já ter lá pronta pra usar é uma mão na roda. O dicionários de campos (self.fields) dos formulários do Django são instâncias de SortedDict, por exemplo.

Outra bem interessante é a MultiValueDict, um dicionário onde cada chave pode ter mais de um valor.

Bem, fica a dica! Um bom começo, pra quem usa Django, pra começar a dar uma fuçada nos fontes.

blog comments powered by Disqus

My name is Igor Sobreira and is my website. I'm a software developer working at Real Geeks. I currently live in Hawaii doing the two things that I like most: windsurfing and writing software.

See more about me and get in touch.