agateblue / agateblue/django-dynamic-preferences

FloatPreference should be able to be initialized from both floats and ints

Offen
#265 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Python
Sterne
359
Forks
86
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Recently I met a problem with setting a `FloatPrefeerence` to an int value instead of its float equivalent (`1` instead of `1.0`), which sounds reasonable, but I got this error:

```
File "/app/.venv/lib/python3.10/site-packages/dynamic_preferences/models.py", line 53, in set_value
self.raw_value = self.preference.serializer.serialize(value)
File "/app/.venv/lib/python3.10/site-packages/dynamic_preferences/serializers.py", line 39, in serialize
return cls.to_db(value, **kwargs)
File "/app/.venv/lib/python3.10/site-packages/dynamic_preferences/serializers.py", line 54, in to_db
return text_type(cls.clean_to_db_value(value))
File "/app/.venv/lib/python3.10/site-packages/dynamic_preferences/serializers.py", line 163, in clean_to_db_value
raise cls.exception('FloatSerializer can only serialize Float instances')
```

`FloatSerializer` should INMHO accept ints as well, for more flexibility in user input

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.