我想在我的模型中将整数列表存储为字段。由于Django默认情况下没有提供此字段,因此我正在使用称为
以下是模型:
从数据库中加载并将字符串转换为列表:
但是这会输出
x
的CommaSeparatedIntegerField来实现。在我的视图中,我将该字符串转换为整数列表。当使用参数n
创建模型实例时,我希望x
被设置为长度n
,每个元素都设置为零。以下是模型:
class Foo(models.Model):
id = models.IntegerField(default = 0)
x = models.CommaSeparatedIntegerField(max_length = 10)
@classmethod
def create(cls, _id, n):
user = cls(id = _id)
user.class_num_shown = '0,' * n
然后我创建一个实例:
f = Foo.create(1, 4)
f.save()
从数据库中加载并将字符串转换为列表:
f = Foo.objects.get(id = 1)
x_string = f.x
x_list = x_string.split(',')
print x_list
但是这会输出
[u'0,0,0,0,']
而不是我想要的 [0,0,0,0]
,我该如何得到我想要的输出结果?
.split()
而不是.split(',')
。或者,ast.literal_eval('0, 0, 0, 0')
可以给你想要的结果。 - karthikr