我需要用一个成对的列表配置一个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,
    )
)

10-05 21:31