我有以下django模型:
class UnitOfMeasure(models.Model):
unit_of_measure_id = models.AutoField(primary_key=True)
name = models.CharField(max_length=100, verbose_name="Unit Of Measure")
insert_time = models.DateTimeField(auto_now_add=True)
update_time = models.DateTimeField(auto_now=True)
class SmartDeviceMeasurement(models.Model):
measurement_id = models.AutoField(primary_key=True)
data = JSONField(null=False, blank=False)
在data
JsonField字段中,我将放置一个json字典,如下所示:
{
"3": {
"VLN1": 222,
"VLN2": 222,
"VLN3": 222
},
"4": {
"IL1": 222,
"IL2": 222,
"IL3": 222
}
}
我的数据库中的每一行都包含此JSON,即系统从传感器读取数据时构建的对象,每个字典键代表度量单位的主键(在另一个模型中引用)描述读取变量"即:VLN1具有UnitOfMeasure 3,依此类推......"),在这种情况下,键3是电压,键4是安培。
我的目标是使用特定单位创建所有测量的列表。
我试过使用django has_key方法,但是给了我整个行数据的结果,无论如何,我只需要获得一个" part"例如,对于整个json对象,结果可能与此类似:
select data->>'3' AS test from SmartDeviceMeasurement
test
{"VLN1": 222, "VLN2": 222, "VLN3": 222}
{"VLN1": 220, "VLN2": 220, "VLN3": 220}
{"VLN1": 223, "VLN2": 223, "VLN3": 223}
任何解决方案或建议?
感谢。