Django bildet Dezimalfeld nicht analysieren 0

Ich verwende Django-Formen in meinem Openstack-Horizont.

Haben Sie das neue Formular für die Verarbeitung der Werte für die Aktualisierung einer bestimmten Details in DB erstellt.

Formular ist für die Aktualisierung der bestimmten Werte in DB.

Also gebe ich die Werte für paid_cost, balance_cost, paid_status und payment_status ein.

Basierend auf den eingegebenen Formularwerten, die aktualisiert werden.

Formularfeld ist wie folgt:

invoice_id = forms.CharField(label=_("Invoice ID"), widget=forms.TextInput(attrs={'readonly':'readonly'}), required=False) paid_cost = forms.DecimalField(label=_("Paid Cost"), min_value=0, max_digits=32, decimal_places=2) balance_cost = forms.DecimalField(label=_("Balance Cost"), min_value=0, max_digits=32, decimal_places=2) paid_status = (('0', 'New'), ('1', 'Paid'), ('2', 'Declined'), ('3', 'Refunded')) payment_status = forms.ChoiceField(choices=paid_status, required=True ) 

Im Folgenden ist die Aktion für die Aktualisierung der DB.

 invoice = cloudkitty_conn.reports.update_invoice(invoice_id=data['invoice_id'], payment_status=data['payment_status'], paid_cost=data['paid_cost'], balance_cost=data['balance_cost']) 

Also bin ich vor der Ausgabe hier mit der Aktualisierung des Feldes wie pay_cost und balance_cost.

Szenario 1 funktioniert gut wie folgt:

 paid_cost = 2.50 balance_cost = 2.25 

Für diese Beispieldaten funktioniert es gut.

DB-Wert nach Bedarf aktualisiert.

 mysql> select * from invoice_details \G; *************************** 1. row *************************** id: 3 tenant_id: 12fabdf1e7744e91b0a1c3ee511f876d tenant_name: demo invoice_id: demo-3-2016 total_cost: 4.75 paid_cost: 2.50 balance_cost: 2.25 payment_status: 0 

Szenario 2 funktioniert nicht gut, Details waren wie folgt:

 paid_cost = 4.75 balance_cost = 0.00 

Siehe nach dem Hinzufügen dieser Werte, DB-Wert für balance_cost nicht geändert:

 mysql> select * from invoice_details \G; *************************** 1. row *************************** id: 3 tenant_id: 12fabdf1e7744e91b0a1c3ee511f876d tenant_name: demo invoice_id: demo-3-2016 total_cost: 4.75 paid_cost: 4.75 balance_cost: 2.25 payment_status: 0 

Um ein klareres Problem zu sein, tritt auf, wenn wir den Wert als 0 oder 0,00 eingeben.

Jemand lassen Sie mich wissen, wenn es irgendeine Frage gibt, die bereits dort in Bezug auf diese Django Formulare Else Ich werde in meinem Code selbst für alle Fragen zu überprüfen

  • Batch füllen PDF-Formulare aus python oder bash
  • Wie man ein Formular mit einer Aktion mit Robobrowser einreicht
  • Senden von Daten aus HTML-Formular in ein Python-Skript in Flask
  • Füllen eines Passwortformulars mit Splinter
  • Wie kann man Djangos generische Ansicht ein Formular mit Anfangswerten verwenden?
  • "Ein gültiges Datum eingeben" Fehler in Django Forms DateField
  • Python ist die beste Programmiersprache der Welt.