【问题标题】:How can i get min value in array from JSONField如何从 JSONField 获取数组中的最小值
【发布时间】:2019-12-25 08:01:52
【问题描述】:

我有一个模型,这个模型有一个 JSONField

class Book(models.Model):
    data = JSONField()

而且这个字段有一个数组。

data = {
     'outlet':[
     {'price': 100},
     {'price': 200},
     {'price': 300}
     ]}

我想获得出口价格的最小值。我尝试使用 KeyTextTransform 和 Min func。如果插座不是阵列,我可以轻松做到。但不幸的是,在这种情况下我必须处理数组。

我想用 ORM 解决这个问题。如果这是不可能的,我会用pythonic解决这个问题作为最后的手段。

【问题讨论】:

标签: json django postgresql orm


【解决方案1】:

试试这个: 您可以先将字典列表映射到价格列表(整数)

map(lambda outlet: outlet['price'], data['outlet'])

您可以简单地使用 min 函数来提取可能的最低价格。

min(map(lambda outlet: outlet['price'], data['outlet']))

【讨论】:

    猜你喜欢
    • 2023-01-05
    • 2013-10-13
    • 1970-01-01
    • 2020-08-07
    • 2023-03-18
    • 2020-03-24
    • 2018-10-27
    • 2012-02-14
    • 2021-02-14
    相关资源
    最近更新 更多