python - 如何填充和访问 Django ArrayField?

标签 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
        )

但是我实际上如何将信息放入其中?理想情况下是整个 python 列表,也可以放在一个地方。

一旦它在那里,我如何检索它?既在 python 端,也在 .html 文件中?

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

最佳答案

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

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 .

关于python - 如何填充和访问 Django ArrayField?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55018888/

相关文章:

Python 无法识别 pocketsphinx 的解码器

python - 如何在pycharm中将插入符号移动到控制台?

python - 修改 pandas 数据框的列标题

java - sqlite数据库android将所有列值放入字符串数组

java - Java中有没有快速从字符串数组中删除元素的方法?

python - 折叠树中到尖端的平均距离 < x 的子树

arrays - 比较排序是否必须比较所有相邻的单元格?

python - Django block.super 不渲染父模板中设置的变量

python - 如何在django中的模型字段之间执行算术运算

python - 将默认值设置为 django 中两个不同字段的组合