django api调用来自视图的更改时间数据来自get

时间:2018-02-02 09:41:18

标签: django django-rest-framework

我有一个视图,当它调用api时,它将保存结果。

但我希望能够将从Post方法获得的时间更改为+ 30分钟或+ 1小时并保存。

就我而言,有一个starttimeendtime。但是只有一个字段time被回馈。所以我会将time保存到starttimetime + 30分钟/ 1小时保存到endtime

我该怎么做?

视图

@csrf_exempt
def my_django_view(request):

    if request.method == 'POST':
        r = requests.post('http://127.0.0.1:8000/api/makeapp/', data=request.POST)
    else:
        r = requests.get('http://127.0.0.1:8000/api/makeapp/', data=request.GET)

    if r.status_code == 201 and request.method == 'POST':
        data = r.json()
        print(data)

        # Create a schedule/Save to schedule table

        user = data['patientId']
        userId = MyUser.objects.get(userId=user)
        # time
        gettime = data['time']
        gettime_add = ???

        saveget_attrs2 = {
            "userId ": userId ,
            "starttime": data["time"],
            "date": data["date"],
        }
        saving2 = Schedule.objects.create(**saveget_attrs2)

1 个答案:

答案 0 :(得分:3)

首先将日期字符串转换为datetime对象,然后使用timedelta

import datetime
...
gettime = data['time']
date_obj = datetime.datetime.strptime(gettime, <format_string>)
# for example datetime.datetime.strptime('2017-12-01, '%Y-%m-%d')
end_time = date_obj + datetime.timedelta(minutes=30)