Ho questo modello:Django unico = True tranne che per i valori vuoti
class Part(models.Model):
serial_number = models.CharField(max_length=15, null=True, blank=True, validators=[validate_serial], unique=True)
....
serial_number può essere vuoto e nulla, perché tutte le parti non hanno necessariamente un numero di serie. Tuttavia, dopo aver memorizzato una parte senza un numero di serie, vuoto non è più univoco e viene visualizzato questo errore:
Parte con questo numero di serie già esistente.
Esiste una soluzione alternativa? Ho già visto this question, ma non ho un modello. Io uso l'amministratore o lo faccio direttamente nel codice.
Se si utilizza l'amministratore, è possibile definire un modulo del modello personalizzato. Ho mostrato come nella risposta hai collegato. Se lo stai facendo in codice, imposta semplicemente 'part.serial_number = None' invece di usare" "per i valori vuoti. – Alasdair