É validação do modelo Django tratado apenas através da API formas?

votos
8

É esta a única maneira de criar validação do modelo personalizado? Para fazê-lo utilizando os formulários? E se eu quiser para enviar dados para o banco de dados através de outras formas de meios?

Publicado 30/04/2009 em 02:44
fonte usuário
Em outras línguas...                            


3 respostas

votos
9

tem atualmente Django não fornece qualquer validação de nível modelo (além de "NOT NULL", validações básicas "único" e comprimento). Este está na lista TODO mas muito provavelmente não vai caber próxima versão 1.1.

Você pode executar tarefas relacionadas validação no save()método do seu modelo ou o uso before_savede sinais (levantando exceção no manipulador de sinal fará com que a transação seja revertida).

Respondeu 30/04/2009 em 12:02
fonte usuário

votos
5

Validação do modelo estará disponível em breve no Django versão 1.2. Ele está disponível agora , se você usar uma corrente Django svn checkout do tronco.

Vários cleanmétodos estão agora disponíveis. Veja http://docs.djangoproject.com/en/dev/ref/models/instances/#id1 para mais detalhes.

Respondeu 20/01/2010 em 07:30
fonte usuário

votos
1

Em geral, você deve ser capaz de lidar com o que você quer através da construído em tipos de campos e suas opções ou a meta opções de modelo . Você também pode substituir o método save para executar a validação / saneamento. Se isso não for suficiente, você pode criar seu próprio tipo de campo .

O problema é que não há nenhuma boa comportamento esperado. O que deve acontecer? Caso uma exceção ser levantada? Os campos só são realmente uma abstração no nível de banco de dados, por isso não deve haver mais informações lá do que aquilo que o banco de dados precisa saber.

Respondeu 30/04/2009 em 03:17
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more