Django:用于存储浮动列表的模型字段?

jai*_*s89 4 python django django-models

我想在Django中存储一个可变长度的浮点列表.有CommaSeparatedIntegerField,但是我可以使用这样的东西吗?是否最好只实现我自己的CommaSeparetedFloatField,或者是否有我完全遗漏的东西?谢谢.

Ret*_*old 5

我认为你可以很容易地定义自己的领域:

comma_separated_float_list_re = re.compile('^([-+]?\d*\.?\d+[,\s]*)+$')
validate_comma_separated_float_list = RegexValidator(
              comma_separated_float_list_re, 
              _(u'Enter only floats separated by commas.'), 'invalid')

class CommaSeparatedFloatField(CharField):
    default_validators = [validators.validate_comma_separated_float_list]
    description = _("Comma-separated floats")

    def formfield(self, **kwargs):
        defaults = {
            'error_messages': {
                'invalid': _(u'Enter only floats separated by commas.'),
            }
        }
        defaults.update(kwargs)
        return super(CommaSeparatedFloatField, self).formfield(**defaults)
Run Code Online (Sandbox Code Playgroud)

这个片段不是testet,但也许你可以根据自己的需要进行调整.