2016-05-06 10 views
0

Ich habe folgendes Modellfeld:0 wird als "none" decimalfield django behandelt

expenses = models.DecimalField(null=True, blank=True, max_digits=11, decimal_places=2, validators=[MinValueValidator(0)]) 

Mein Problem:

Wenn der Benutzer 0 setzt, Django behandelt als "None", wenn es 0 sein sollte Es sollte nur als "Keine" angezeigt werden, wenn ihm kein Wert zugewiesen wurde. Gibt es dafür eine leichte Arbeit?

Antwort

0

den Wert in MinValueValidtor Sets mit Decimal:

expenses = models.DecimalField(null=True, blank=True, max_digits=11, decimal_places=2, 
           validators=[MinValueValidator(Decimal('0.00'))]) 
+0

Ich glaube, das auf zu tun hat, wie Django den Wert in der Datenbank interpretiert. Es scheint, dass "0" als "None" interpretiert wird. Ich habe getan, was du erwähnt hast und nicht funktioniert. –

+0

Meinst du in der Datenbank wird es als 'None' gespeichert oder du bekommst einen Fehler im Formular? – AKS

+0

In der Datenbank wird es als '0' oder '0,00' aufgezeichnet, wenn ich jedoch versuche, den Wert in der Vorlage anzuzeigen, erscheint er als "None". –

Verwandte Themen