StringListProperty - это просто очень тонкая оболочка для ListProperty. нет никакой существенной разницы, кроме типа элемента.
из сам код :
class StringListProperty(ListProperty):
def __init__(self, verbose_name=None, default=None, **kwds):
super(StringListProperty, self).__init__(basestring,
verbose_name=verbose_name,
default=default,
**kwds)
Я бы порекомендовал хранить целые числа в простом ListProperty, так как тогда вы можете запрашивать и сортировать их правильно, то есть численно, в запросах к хранилищам данных, что вы не сможете легко сделать, если преобразовать их в строки.