Automatic form measure unit conversion

Hello, I have a django site where there are many objects stored with a set of related measurements.
Until now all the measures used belong to the metric system, but we need to extend also to imperial system (foot, pint, pound, candela).
I have searched if there was already some django already done solution like the internationalization but I did not find any.
I’m going to integrate pint and implement a wrapper for float fields in order to be able to translate the value and the constraints in the form. I would like to convert only in frontend but to keep object stored always in the initial unit measure in the database.

Is there any other existing method already currently used for this kind of needs?
I saw django-measurements but last commit is three years ago. I have seen also django/django/contrib/gis/measure.py at stable/5.2.x · django/django · GitHub but there are only length unit measures while I need all…

This could be my wrapper


class PintUnitFieldMixin:
    def __init__(self, *args, unit='meter', min_value=None, max_value=None, label='', **kwargs):
        self.unit = unit
        self.min_m = min_value
        self.max_m = max_value
        self.ureg_unit = ureg(self.unit)

        if min_value is not None:
            kwargs['min_value'] = (min_value * ureg.meter).to(self.ureg_unit).magnitude
        if max_value is not None:
            kwargs['max_value'] = (max_value * ureg.meter).to(self.ureg_unit).magnitude

        if label:
            kwargs['label'] = f"{label} ({self.unit})"
        super().__init__(*args, **kwargs)

    def clean(self, value):
        magnitude = super().clean(value)
        return (magnitude * self.ureg_unit).to('meter').magnitude

class PintFloatField(PintUnitFieldMixin, forms.FloatField):
    pass

class MyForm(forms.Form):
    def __init__(self, *args, unit='ft', **kwargs):
        super().__init__(*args, **kwargs)
        self.fields['height'] = PintFloatField(
            unit=unit,
            min_value=0.5,
            max_value=5,
        )

Has somebody done something similar with a different approach?