0
我需要使用傳入變量值重命名輸出字段名稱。還有一個功能:queryset註釋中的動態字段名稱
def metric_data(request, test_id, metric):
metric_name = metric
data = ServerMonitoringData.objects. \
filter(test_id=test_id). \
annotate(timestamp=RawSQL("((data->>%s)::timestamp)", ('timestamp',))).\
annotate(metric=RawSQL("((data->>%s)::numeric)", (metric,))). \
values('timestamp', "metric")
因此,在這種情況下,不管是什麼值帶有可變指標輸出看起來像:
{"timestamp": "0:31:02", "metric": "8.82414500398"}
我需要有一個鍵名的輸出等於指標變量(如果指標== 'CPU_iowait'):
{"timestamp": "0:31:02", "CPU_iowait": "8.82414500398"}
Tryed使用這樣的事情:
metric_name = metric
...
annotate(metric_name=F('metric')).\
values('timestamp', metric_name)
但它試圖找到'CPU_iowait'列當存在'metric_name'。 那麼有什麼辦法將字段名稱作爲變量傳遞?
很酷,有效,謝謝 – v0devil