Django使用视图调用API并在发布之前检查用户是否存在

时间:2018-02-26 05:39:19

标签: django django-rest-framework

更新:

我想把api叫到另一个项目。在哪里预约预约。之后,它会将用户信息(userid,first_name等)发送到他们的Patient表中。

现在,只要用户尝试创建约会,用户就会将他们的信息发送/发布到患者表格中。

这样做的原因是为了防止用户在预约时创建新的患者对象(即使在创建/存在之后)。所以if else会检查用户是否存在。如果存在,则不会创建新的患者对象。

检查API上是否存在用户的IF语句和IF语句? 我是否在http://127.0.0.1:8000/api/Patients/上使用if else执行请求。

以下是代码:

@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/', params=request.GET)

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

        # Have to post the user profile information into Patient table in another project.
        user_profile_attrs = {
            "clinicId": data["clinicId"],
            "immuneMeId": request.POST.get('userId'),
            "first_name": request.POST.get('first_name'),
            "last_name": request.POST.get('last_name'),
            "gender": request.POST.get('gender'),
            "mobileNo": request.POST.get('mobileNo'),
            "nric": request.POST.get('nric'),
        }
        # save into patient table of another project
        save_profile = requests.post('http://127.0.0.1:8000/api/Patients/', data=request.POST)

        return HttpResponse(r.text)
    elif r.status_code == 200:  # GET response
        return HttpResponse(r.json())
    else:
        return HttpResponse(r.json())

1 个答案:

答案 0 :(得分:0)

这个项目中的

var myArray = [32.4, "bla", 1.44, 0.5, 65.8, "abc"]; var sum = myArray.filter(n => !isNaN(n)).reduce((m, n) => m + n); console.log(sum); 使用Django的方法get_or_create()。 它首先获取数据,如果没有找到数据,它将创建新对象。 here是官方的Django链接