Ich speichere Gleitkommadaten in meinen Django-Modellen und nur ein bestimmter Wertebereich ist sinnvoll. Daher möchte ich diese Grenzwerte sowohl auf der Ebene der Modelle als auch auf der SQL-Ebene festlegen.Wie erstelle ich ein Django FloatField mit maximalen und minimalen Grenzen?
Zum Beispiel würde Ich mag so etwas tun:
class Foo(Model):
myfloat = FloatField(min=0.0, max=1.0)
ich dies auf Modellebene tun will, nicht Formularebene. In der Tat könnte es mir gefallen, dass die Formularebene einen anderen Bereich hat; Verwenden Sie z. B. Prozentsätze [0,100] auf der Formularebene, aber übersetzen Sie sie in [0,1] im Modell.
Ist das möglich, und wenn ja, wie würde ich es tun?
OK. Und dann würde ich die MinMaxFloat erweitern, um diese Werte zu validieren und Datenbankbeschränkungen zu erstellen. – Reid
Es erstellt Constraint auf Django-Modell-Ebene, d. H. Sie können Datensatz wie 'Foo (myfloat = -1.0) .save()' manuell einfügen, aber Sie erhalten ValidationError, wenn Sie 'ModelForm' basierend auf Ihrem' Foo'-Modell senden – San4ez