我正在尝试从 Django 中的 JSON 对象实现 POST 方法,但我不知道如何应用此 POST 方法。我有以下代码:
Postman 的 POST 方法
{
"filter": {
"filters": [
{
"field": "CreatedOn",
"operator": "gte",
"value": "2017-02-12 00:00:00"
},
{
"field": "CreatedOn",
"operator": "lte",
"value": "2017-03-12 00:00:00"
},
{
"field": "VIP",
"operator": "eq",
"value": "YES"
}
],
"logic": "and"
}
}
将 JSON 解析为 Python 的代码片段
def get_data(request, *args, **kwargs):
with urllib.request.urlopen("http://10.61.202.98:8081/T/ansdb/api/rows/dev/ect/tickets",timeout=15) as url:
response_data = json.loads(url.read().decode())
user_id = [value['user_id'] for value in response_data]
print(user_id)
return JsonResponse(response_data, safe=False)
我要过滤的 JSON 对象
[{
id: 1003384,
user_id : 0001
CreatedOn: "2017-02-16 15:54:48",
Problem: "AVAILABILILTY",
VIP: "YES",
Vendor_CODE: "XYZ12345",
Week_id: "07",
},
{
id: 1003338,
user_id: 0002
CreatedOn: "2017-02-15 13:49:16",
Problem: "AVAILABILILTY",
VIP: "NO",
Vendor_CODE: "XYZ67890",
Week_id: "09",
}]
未经测试,我的头脑中没有任何想法。根据您认为合适的日期范围以及包含或排除条件替换日期范围。
from datetime import datetime
START_DATE = datetime.strptime("06/01/2017", "%m/%d/%Y")
END_DATE = datetime.strptime("06/07/2017", "%m/%d/%Y")
response_data = filter(lambda x: START_DATE < datetime.strptime(x['CreatedOn'], "%Y-%m-%d %H:%M:%S") < END_DATE, json.loads(url.read().decode()))
我是一名优秀的程序员,十分优秀!