gpt4 book ai didi

python - Django 从 PostgreSQL 特定的 ArrayField 中获取最小值和最大值,其中包含 IntegerField(s)

转载 作者:行者123 更新时间:2023-12-03 16:09:39 24 4
gpt4 key购买 nike

我有一个 ArrayField 在我的模型控股整数字段 .我正在寻找可以从该数组中提取最小和最大整数的最佳方法。
Django 文档没有给出类似的例子,我想知道正确的方法是否是找出我如何以及是否可以使用 聚合 ArrayField 上的函数,或者我是否可以将其转换为 普通python列表以某种方式整数并使用内置的 min、max 函数?
执行此操作的任何建议都会有所帮助。例子更多。

最佳答案

Python 的 max 和 min 函数似乎可以做到。
型号定义:

from django.contrib.postgres.fields import ArrayField

class TestArrayField(models.Model):
integers = ArrayField(
models.IntegerField()
)
示例数据(两个 TestArrayField 模型实例,每个实例都有一个 IntegerFields 数组):
enter image description here
这将返回 TestArrayField 的给定实例的最小值/最大值:
def test_array_field(request):
# grabbing the first one, you could use .filter() instead
integers_array = TestArrayField.objects.first().integers
max_integer = max(integers_array)
min_integer = min(integers_array)

# printing output..
print(integers_array)
print('max_integer:', max_integer)
print('min_integer:', min_integer)
这是输出:
[6, 8, 10, 12]
max_integer: 12
min_integer: 6

关于python - Django 从 PostgreSQL 特定的 ArrayField 中获取最小值和最大值,其中包含 IntegerField(s),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66230710/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com