2014-12-26 3 views
3

나는 튜플 /리스트를 장고 모델에 저장하는 우아한 방법을 찾고있다.Django : 튜플/고정 크기 목록의 모델 필드

내 모델 순간에 다음과 같습니다 : 모델 필드의 고정 된 크기 목록을 만들 수있는 더 convienent 방법은

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]

+0

왜 관계를 사용하지 않습니까? – Serafeim

+0

@Serafeim 당신이 정교 할 수 있습니까? – H4kor

+0

저는 MyClass 모델과 valIntIntegerField에 외래 키를 사용하여 Value 모델을 만드는 것을 의미합니다! – Serafeim

답변

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]