anyit.djattributes é uma aplicação Django que visa proporcionar atributos arbitrários para qualquer modelo sem tocá-lo. & Nbsp; A flexibilidade ganhou é pago com a velocidade perdida, o que irá tornar-se evidente em grandes aplicações em escala com dados densos.
Mind the gap
Estou um pouco preocupado com isso que não pode ser compatível com a Django filosofia. Certifique-se que você não use isso para grande escala material dados não escasso. Eu só estava incomodado com uma estrutura de árvore contendo arbitrária, caminho atributos dependentes. É por isso que eu fiz isso. Se eu pudesse ter evitado isso eu tive meus modelos mais pregado para baixo.
Instalação :
& Nbsp; Basta copiar a pasta atributos para seu projeto Django atual e incluem 'atributos' em suas configurações.
& Nbsp; ou instalá-lo usando sudo easy_install anyit.djattributes e incluem 'anyit.djattributes.attributes'.
Uso :
A javascript / JQuery como notação é implementado e fornecidos por um chamado attr classe interface simples. Sem letra maiúscula, como em nomes de classes habituais tentando fazê-lo sentir como JQuery.
Interfaces do tipo
& Nbsp; attr.create_type (nome, descrição, tipo) # Cria um tipo. Olhe para o __doc__ para mais informações sobre os tipos e como eles estão representados. Até agora o int internal_types, float, string, texto, unicode, classe (qualquer objeto pickle) e contenttype (usando uma chave gereric Django).
& Nbsp; attr.delete_type (nome) # Cuidado! A cascata irá destruir quaisquer valores (não portador!) Do tipo de dado.
Interfaces de operadora
& Nbsp; attr (proprietário) # retornará uma lista de atributos para o proprietário dada.
& Nbsp; attr (proprietário, nome) # Voltará os proprietários atributo com um determinado nome ou Nenhum.
& Nbsp; attr (proprietário, nome, valor) # ... defina seu valor ou aumentar se o tipo não é Koscher.
& Nbsp; attr (proprietário, nome, valor, create_attributetype, create_attribut, klass, descrição) # create_attributetype escolhe entre a criação de um AttributeType com o nome fornecido, tipo determinado pelo valor dado ea descrição definida para o nome dado se uma descrição não é explicitamente forneceu. create_attribute irá associar um determinado atributo com um veículo que ainda não está ligado com um tipo de atributo como dado ou levantar uma NameError. klass escolhe para impor o atributo que está sendo anexado a um modelo, mesmo que uma instância é dado.
Atributo de interfaces
& Nbsp; attr.find (atributo) # retornará o proprietário de um determinado atributo
& Nbsp; attr.find (nome) # retornará uma lista de atributos para o tipo de atributo do nome dado
& Nbsp; attr.find (nome, valor) # retornará uma lista de atributos para o tipo de atributo do nome dado correspondente ao valor
Interfaces destrutivos
& Nbsp; attr.delete () # irá apagar todos os atributos
& Nbsp; attr.delete (nome) # irá apagar todos os atributos que têm o tipo de dado.
& Nbsp; attr.delete (objeto) # irá apagar todos os atributos que está sendo anexado ao objeto ou classe dada
O que é novo nesta versão:
.
- processamento em lote Adicionado para (o) bjects se passado como argumento lista.
- processamento em lote Adicionado para (n) ames se que vai atribuir (se passado como argumento dict) ou retreive (lista) vários atributos.
- Adicionado namespace como retreivel de elementos de dicionários aninhados usando pontos (.).
Requisitos :
- Python
- Django
Comentários não encontrado