【发布时间】:2019-08-29 22:30:17
【问题描述】:
我正在尝试从另一个模型中获取与驱动程序相关的所有模型实例,如图所示循环通过驱动程序查询集,然后以 json 格式全部返回。但我得到了 [ ] 结果。
elif request.method == "POST":
pull_tegas_serializer = TegaSerializer(data=request.data)
if pull_tegas_serializer.is_valid():
check_for_tegas_request = request.data
rafiki_number = check_for_tegas_request['rafiki_number']
def get_rafiki(rafiki_number):
rafiki_got = RafikiRegistrationCodeModel.objects.filter(phone_number=rafiki_number)
return rafiki_got.first(), rafiki_got.exists()
def fetch_rafiki_profile():
fetched_profile = RafikiProfileModel.objects.filter(rafiki_number=get_rafiki(rafiki_number)[0])
return fetched_profile.first(), fetched_profile.exists()
def get_rafiki_driver_session_record():
rafiki_driver_session_record = RafikiDriverSession.objects.filter(rafiki_number=fetch_rafiki_profile()[0])
return rafiki_driver_session_record.first(), rafiki_driver_session_record.exists
rafiki_driver_sessions = RafikiDriverSession.objects.filter(rafiki_number=fetch_rafiki_profile()[0])
for rafikidriversession in rafiki_driver_sessions:
fetched_tega = Tega.objects.filter(driver_profile=rafikidriversession.drivers_profile)
print (rafikidriversession.rafiki_number, rafikidriversession.drivers_profile)
print (fetched_tega)
tega_pulled_serializer = TegaSerializer(fetched_tega, many=True)
return Response(tega_pulled_serializer.data)
return Response(pull_tegas_serializer.errors, status=status.HTTP_400_BAD_REQUEST)
所以在修改了我的处决之后。我意识到它只返回来自 for 循环执行的最后一个实例的数据,而不是来自 for 循环实例的所有数据。有没有一种方法可以在每次循环完成时保存,然后将这些结果解析为 json 响应?
【问题讨论】:
-
欢迎来到 Stack Overflow。为了让我们为您提供帮助,请在您的问题中提供 minimal reproducible example 作为文本。此代码示例应包含足够的详细信息,以便我们可以轻松理解您要执行的操作,但不包含任何与您的问题无关的不必要信息。
-
我希望这个问题现在没问题。感谢 Code-Apprentice @Code-Apprentice
-
感谢您将代码作为文本而不是屏幕截图的链接发布。但是,代码有几个编译器错误:缩进不正确,有许多未定义的变量和类名,还有一个
return没有一个函数的def。 -
请阅读我第一条评论中的链接。
-
为什么要在
if块中定义函数?这很不寻常。
标签: python django-rest-framework django-views jsonresponse