Postgres 9.4 Django 1.9获取所有json密钥

时间:2016-02-03 21:07:54

标签: python json django postgresql

我在django模型中有一个JSONField,如下所示:

from django.db import models
from django.contrib.postgres.fields import JSONField

class File(models.Model):
    metadata = JSONField(null=True, blank=True, default={})

可以使用用户喜欢的任何内容填充元数据。

我希望能够列出所有File对象使用的所有唯一元数据键。

有没有办法使用django和postgres,聚合?

2 个答案:

答案 0 :(得分:1)

我建议以下

set = {}
map(set.__setitem__, list_of_keys, [])
unique_keys = set.keys()

现在您将拥有一个键列表,然后就可以了

<?php
$servername = 'localhost:1234';
$username = 'protech';
$password = '';
$dbname = 'protech';
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);

if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}else{
    echo "Connected successfully";
}

    mysqli_close($conn);
    exit;
?>

答案 1 :(得分:0)

您可以使用Django的Func()表达式(docs)来使用Postgres函数Objdocs

compareTo

现在您可以写

Comparable<Obj>