mam ten model:Django unikalny = True wyjątkiem pustych wartości
class Part(models.Model):
serial_number = models.CharField(max_length=15, null=True, blank=True, validators=[validate_serial], unique=True)
....
numer_seryjny może być puste i zerowa, ponieważ wszystkie części nie muszą mieć numer seryjny. Jednak po zapisaniu jednej części bez numeru seryjnego puste pole nie jest już unikalne i pojawia się ten błąd:
Część o tym numerze seryjnym już istnieje.
Czy istnieje obejście tego problemu? Już patrzyłem na this question, ale nie mam modelu. Używam administratora lub robię to bezpośrednio w kodzie.
Jeśli używasz administratora, możesz zdefiniować niestandardowy formularz modelu. Pokazałem, jak znalazłeś odpowiedź, z którą się łączyłeś. Jeśli robisz to w kodzie, po prostu ustaw 'part.serial_number = None' zamiast" "dla pustych wartości. – Alasdair