django-PostgreSQL数组字段存储一个三维数组



这是我想存储在数据库中的列表:

[30, 9.45, 
[3.4499999999999993, 1.0500000000000007], 
[10.625, 12.875], 
[14.075, 11.825], 
[9.0, 15.0], 
[12.904858299595142, 15.637651821862349], 
[15.0, 18.0], 
[1.0, 1.0], 
[6.0, 10.5], 
[10.5, 6.0], 
[0.0, 0.0], 
[[3, 6], [3, 6, 6]], 
[[6.0, 1.5], [10.5, 6.0, 4.5]], 
[27.0, 94.5], 
[110.1141194331984, 106.83476720647775]]

我的模型.py:

D240_TOTAL = ArrayField(
ArrayField(
models.FloatField(max_length=10, blank=True),
blank=True, null=True,
),
blank=True, null=True,
)

但是我得到了错误:

字段"D240_TOTAL"应为数字,但得到了[3,6]。

因为我的领域是二维阵列,但我给他一个三维阵列

我编辑的字段:

M_BC_TOTAL = ArrayField(
ArrayField(
ArrayField(
models.FloatField(max_length=10, blank=True),
blank=True, null=True,
), blank=True,null=True),
blank=True, null=True,
)

但我得到了这个错误:无法适应类型'numpy.int32'

您可以将Model更改为使用JSONField。这将允许您存储任何列表:

from django.db import models
from django.contrib.postgres.fields import JSONField
D240_TOTAL = JSONField()

有关JSONField的操作方法,请参见此处。

最新更新