我想在Django中存储长度可变的浮点列表。有CommaSeparatedIntegerField,但是我可以使用类似的东西吗?最好只是实现自己的CommaSeparetedFloatField还是我完全缺少某些东西?谢谢。

最佳答案

我认为您可以轻松定义自己的字段:

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)

该代码段不是睾丸,但也许您可以根据需要对其进行调整。

关于python - Django:用于存储浮点列表的Model字段?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3397400/

10-10 12:33