Django:模型字段的元组/固定大小列表

时间:2014-12-26 12:39:52

标签: django models django-1.7

我正在寻找一种在django模型中存储元组/列表的优雅方法。

我的模型目前看起来像这样:

class MyClass(models.Model):

    val_0 = models.SmallIntegerField(default=0)
    val_1 = models.SmallIntegerField(default=0)
    val_2 = models.SmallIntegerField(default=0)
    val_3 = models.SmallIntegerField(default=0)
    val_4 = models.SmallIntegerField(default=0)
    val_5 = models.SmallIntegerField(default=0)
    val_6 = models.SmallIntegerField(default=0)
    val_7 = models.SmallIntegerField(default=0)
    val_8 = models.SmallIntegerField(default=0)
    val_9 = models.SmallIntegerField(default=0)

是否有更简单的方法来创建固定大小的模型字段列表?

通过my_obj.val [3]

访问字段的值会很高兴

1 个答案:

答案 0 :(得分:3)

使用PickledField:
设置

pip install django-picklefield

型号

from picklefield.fields import PickledObjectField
class MyClass(models.Model):
    val = PickledObjectField(default=(0,)*10)

<强>用法

obj = MyClass()
obj.val[0] = 1
obj.val[5] = 4
obj.save()
val = obj.val[0]