diff --git a/bitfield/forms.py b/bitfield/forms.py index 352a558..a1f4bbc 100644 --- a/bitfield/forms.py +++ b/bitfield/forms.py @@ -41,3 +41,11 @@ def clean(self, value): except AttributeError: raise ValidationError('Unknown choice: %r' % (k,)) return int(result) + + def prepare_value(self, value): + if not value: + return [] + try: + return BitHandler(value, [k for k, v in self.choices]) + except TypeError: + return value