From 6de7f9ec60fbdc59797bc21803f16260bd203f04 Mon Sep 17 00:00:00 2001 From: Stefano Chiodino Date: Wed, 3 Oct 2018 00:17:23 +0100 Subject: Fixed #29598 -- Deprecated FloatRangeField in favor of DecimalRangeField. --- django/contrib/postgres/forms/ranges.py | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'django/contrib/postgres/forms') diff --git a/django/contrib/postgres/forms/ranges.py b/django/contrib/postgres/forms/ranges.py index 5f2b2434a3..c36bec8479 100644 --- a/django/contrib/postgres/forms/ranges.py +++ b/django/contrib/postgres/forms/ranges.py @@ -1,13 +1,16 @@ +import warnings + from psycopg2.extras import DateRange, DateTimeTZRange, NumericRange from django import forms from django.core import exceptions from django.forms.widgets import MultiWidget +from django.utils.deprecation import RemovedInDjango31Warning from django.utils.translation import gettext_lazy as _ __all__ = [ - 'BaseRangeField', 'IntegerRangeField', 'FloatRangeField', - 'DateTimeRangeField', 'DateRangeField', 'RangeWidget', + 'BaseRangeField', 'IntegerRangeField', 'DecimalRangeField', + 'DateTimeRangeField', 'DateRangeField', 'FloatRangeField', 'RangeWidget', ] @@ -66,12 +69,23 @@ class IntegerRangeField(BaseRangeField): range_type = NumericRange -class FloatRangeField(BaseRangeField): +class DecimalRangeField(BaseRangeField): default_error_messages = {'invalid': _('Enter two numbers.')} - base_field = forms.FloatField + base_field = forms.DecimalField range_type = NumericRange +class FloatRangeField(DecimalRangeField): + base_field = forms.FloatField + + def __init__(self, **kwargs): + warnings.warn( + 'FloatRangeField is deprecated in favor of DecimalRangeField.', + RemovedInDjango31Warning, stacklevel=2, + ) + super().__init__(**kwargs) + + class DateTimeRangeField(BaseRangeField): default_error_messages = {'invalid': _('Enter two valid date/times.')} base_field = forms.DateTimeField -- cgit v1.3