2013/9/20 Lucho Flores <
luchito...@gmail.com>:
>
> el dni está declarado así:
>
> dni = models.CharField(unique=True, max_length=10, null=True, blank=True)
2013/9/20 Alexis Roda <
alexis.roda...@gmail.com>:
> Según el estándar al evaluar NULL = NULL el resultado es a su vez NULL
> (tiene su lógica si pensamos en NULL como "desconocido") y por tanto no se
> considera que exista duplicidad cuando dos registros tienen el valor NULL en
> un campo declarado UNIQUE.
>
> Otra cosa muy distinta es cuando el valor es la cadena vacía, como han
> comentado en un mensaje anterior.
Exacto, es probable que en realidad el ORM Django esté aplicando su
política de preferir que los CharFields sin valor se guarden como ''
en lugar de como NULLs. Si se desea que almacene NULL, a lo mejor se
puede usar default=NULL, no tengo tiempo de probarlo ahora.
Para una comparativa de uso de NULL entre los dtos. RDBMS ver
https://www.sqlite.org/nulls.html
--
Ramiro Morales
@ramiromorales