我需要用一个成对的列表配置一个django.contrib.postgres.fields.ArrayField
,其中第一个元素是浮点数,第二个元素是一个小的正整数:
data = [[1.23, 3], [2.42, 1], [3.72, 29]]
我怎么能这样做有可能吗?我试过这样的方法,但没成功:
class MyModel(models.Model):
my_field = ArrayField(
models.FloatField(default=0),
models.PositiveSmallIntegerField(default=0),
null=True
)
最佳答案
我只想知道我是否可以在一个ArrayField中使用不同的字段类型。
不,这是不可能的,这涉及到从数据库中获取数据的一种非常混乱的方法,以及无法将数据库中的字段类型真正设置为具体类型的方法。
相反,只需使用两个浮点字段
my_field = ArrayField(
ArrayField(
models.FloatField(default=0),
size=2,
)
)