如何填充和访问 Django ArrayField?

Max*_*nko 3 python arrays django postgresql

为了解决我的(有点特定的)问题,我发现我必须使用 Django ArrayField:https ://docs.djangoproject.com/en/2.1/ref/contrib/postgres/fields/#arrayfield

我已经在我的models.py文件中将它定义为

Bla = ArrayField(
        models.IntegerField(),
        size=4
        null=True
        )
Run Code Online (Sandbox Code Playgroud)

但是我如何真正将信息放入其中?理想情况下,一个完整的 python 列表,以及一个地方。

一旦它在那里,我该如何取回它?都在 python 端,也在.html文件中?

PS:我不认为问题的整个背景是相关的,所以我现在省略了它,但如果有人感兴趣,我当然会提供所有必要的细节。

AKX*_*AKX 9

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

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()
Run Code Online (Sandbox Code Playgroud)

阅读m.bla,你会得到一个整数列表,你可以像任何其他列表一样在 Python 或 Django 模板中访问它。

另请参阅有关ArrayFields 的各种额外查找的文档