Django unique = True außer für leere Werte

8

Ich habe dieses Modell:

%Vor%

serial_number kann leer und null sein, da nicht alle Teile unbedingt eine Seriennummer haben müssen. Nach dem Speichern eines Teils ohne Seriennummer ist das Leerzeichen jedoch nicht mehr eindeutig und ich erhalte diesen Fehler:

Teil mit dieser Seriennummer existiert bereits.

Gibt es dafür einen Workaround? Ich habe mir diese Frage schon angesehen , aber ich habe kein Modell. Ich benutze entweder den Admin oder mache es direkt im Code.

    
jdickson 21.03.2012, 15:53
quelle

2 Antworten

4

Ich bin auf das gleiche Problem gestoßen und habe es behoben, indem ich None für das Feld beim Speichern angegeben habe.

Die Angabe von default=None könnte ebenfalls hilfreich sein.

    
SaeX 04.04.2014 09:22
quelle
-1

Ich bin mir ziemlich sicher, dass NULL-Werte in Eindeutigkeitsbedingungen nicht berücksichtigt werden. Um dies zu umgehen, verwenden Sie nicht null, sondern eine leere Zeichenfolge. Entfernen Sie also null=True .

    
guidoism 21.03.2012 19:58
quelle

Tags und Links