将元组存储为模型中的字段

时间:2016-07-21 04:52:43

标签: python django postgresql django-models django-queryset

我有以下型号: -

class A(...):
    id=...
    name=...

class B(...):
    setOfA=models.ManyToManyField(A)

我想要的是setOfA是A和日期的二维数组。 那是: -

setOfA = [[A1,date1],[A2,date2]]

我该如何实现?

1 个答案:

答案 0 :(得分:1)

您需要自定义关系模型。

class A(...):
    id=...
    name=...

class B(...):
    setOfA=models.ManyToManyField(A, through='Relation')

class Relation(models.Model):
    a = models.ForeignKey(A)
    b = models.ForeignKey(B)
    important_date = models.DateField()

然后以您提到的格式获得结果:

foo = Relation.objects.filter(b=my_b).select_related('a')
result = [[x.a, x.important_date] for x in foo]