Ответ 1
Глядя на источник для django...
class CommaSeparatedIntegerField(CharField):
def formfield(self, **kwargs):
defaults = {
'form_class': forms.RegexField,
'regex': '^[\d,]+$',
'max_length': self.max_length,
'error_messages': {
'invalid': _(u'Enter only digits separated by commas.'),
}
}
defaults.update(kwargs)
return super(CommaSeparatedIntegerField, self).formfield(**defaults)
Проверьте этот валидатор регулярных выражений. Похоже, если вы дадите ему список целых чисел и запятых, django не будет жаловаться.
Вы можете определить его так же, как charfield:
class Foo(models.Model):
int_list = models.CommaSeparatedIntegerField(max_length=200)
И заполнить его следующим образом:
f = Foo(int_list="1,2,3,4,5")