如何在Django中的功能中使用两次返回?

发布于 2025-01-27 22:56:14 字数 943 浏览 1 评论 0原文

我有一个称为响应的模型。如果选择用户持续一段时间,则响应在此持续时间后转向默认值。但是我需要返回值,直到持续时间结束。我认为我需要使用异步功能。我看了看。但找不到任何Solutioın。

Models.py

class Response(models.Model):
    def_res = models.CharField()
    expected_res = models.CharField()
    current_res = models.CharField()
    is_duration= models.BooleanField(default=False)
    duration = models.PositiveIntegerField()

Views.py

def manage_response(request):
    if request.method == "POST":
        a = Response.objects.filter(id=request.POST.get('resp_id'))
        a.current_res = a.expected_res 
        a.save()
        if not a.is_duration == True:
            return JsonResponse(a.current_res)
        else:
            return JsonResponse(a.expected_res )
            #after return won't work in sync 
            time.sleep(a.duration)
            a.current_res = a.def_res
            a.save()
            return JsonResponse(a.current_res)

I have a model called response. If the user is selected for a duration the response is turning to the default value after that duration time. But I need to return the value until the duration time is over. I think I need to use the async function. I looked at the SO. but couldn't find any solutioın.

models.py

class Response(models.Model):
    def_res = models.CharField()
    expected_res = models.CharField()
    current_res = models.CharField()
    is_duration= models.BooleanField(default=False)
    duration = models.PositiveIntegerField()

views.py

def manage_response(request):
    if request.method == "POST":
        a = Response.objects.filter(id=request.POST.get('resp_id'))
        a.current_res = a.expected_res 
        a.save()
        if not a.is_duration == True:
            return JsonResponse(a.current_res)
        else:
            return JsonResponse(a.expected_res )
            #after return won't work in sync 
            time.sleep(a.duration)
            a.current_res = a.def_res
            a.save()
            return JsonResponse(a.current_res)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

孤独岁月 2025-02-03 22:56:14

您可以在通过字典中使用JSONRESPONSE

#here
def return_response(res):
    return JsonResponse(res)


def manage_response(request):
    if request.method == "POST":
        a = Response.objects.filter(id=request.POST.get('resp_id'))
        a.current_res = a.expected_res 
        a.save()
        if not a.is_duration == True:
            return JsonResponse(a.current_res)
        else:
            return_response(a.expected_res)
            #after return won't work in sync 
            time.sleep(a.duration)
            a.current_res = a.def_res
            a.save()
            return JsonResponse(a.current_res)

You can use dictionary when passing through JsonResponse.

#here
def return_response(res):
    return JsonResponse(res)


def manage_response(request):
    if request.method == "POST":
        a = Response.objects.filter(id=request.POST.get('resp_id'))
        a.current_res = a.expected_res 
        a.save()
        if not a.is_duration == True:
            return JsonResponse(a.current_res)
        else:
            return_response(a.expected_res)
            #after return won't work in sync 
            time.sleep(a.duration)
            a.current_res = a.def_res
            a.save()
            return JsonResponse(a.current_res)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文