为了解决我(有点特殊)的问题,我发现我必须使用Django ArrayField:
https://docs.djangoproject.com/en/2.1/ref/contrib/postgres/fields/#arrayfield
我在models.py文件中将其定义为

Bla = ArrayField(
        models.IntegerField(),
        size=4
        null=True
        )

但是我该怎么把信息放进去呢?理想情况下,两者都是一个完整的python列表,同样在一个地方。
一旦它在里面,我怎么才能找回它?在python端,也在.html文件中?
注:我不认为这个问题的整个背景是相关的,所以我暂时省略了,但如果有人感兴趣,我当然会提供所有必要的细节。

最佳答案

你只需分配一个整数列表。

class M(models.Model):
    bla = ArrayField(models.IntegerField(), size=4, null=True)

m = M.objects.create(bla=[1, 3, 3, 7])

# (or, equivalently,)

m = M()
m.bla = [1, 3, 3, 7]
m.save()

# (or, equivalently,)

m = M(bla=[1, 3, 3, 7])
m.save()

阅读m.bla,您会得到一个整数列表,您可以像其他列表一样在Python或Django模板中访问它。
另请参见the documentation on the various extra lookups for ArrayFields

08-28 03:13