Django:模型字段的元组/固定大小列表
我正在寻找一种在django模型中存储元组/列表的优雅方法 目前我的模型是这样的:Django:模型字段的元组/固定大小列表,django,models,django-1.7,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.SmallIntegerFie
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]访问字段值会很好。使用PickledField:设置
pip install django-picklefield
from picklefield.fields import PickledObjectField
class MyClass(models.Model):
val = PickledObjectField(default=(0,)*10)
型号
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]
为什么不使用关系?@Serafeim你能详细说明一下吗?我只是想用MyClass模型的外键和val SmallIntegerField创建一个值模型!然后我仍然必须单独处理每个值,并且不能迭代。还是我错了?你绝对可以迭代!如果obj是MyClass的实例,则可以使用obj.value_set.all()获取包含这些值的queryset(iterable)。