Django的Selecte\u相关的引用筛选引用

2024-09-28 03:20:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用Django的select_related进行查询,它将遍历两个不同的模型。

条件如下所示(注意,value是一个重命名-它不是与value相关的语法):

if valueResults.objects.select_related("value_id__item_id").filter(status_code="yes", item_id=item_id).exists():
    return JSONResponse({'message':'Yes', 'status':status.HTTP_200_OK})
elif valueResults.objects.select_related("value_id__item_id").filter(status_code="no", item_id=item_id).exists():
    return JSONResponse({'message':'No’, 'status':status.HTTP_200_OK})
else:
    return JSONResponse({'message':'There are no items matching that item_id', 'status': status.HTTP_404_NOT_FOUND})

数据模型如下:

^{pr2}$

我的理想目标是根据valueResults模型的状态代码和条目的条目id进行过滤。这可能吗?


Tags: 模型idhttpmessagereturnobjectsvaluestatus
1条回答
网友
1楼 · 发布于 2024-09-28 03:20:03

select_related是一种性能调整工具,而不是与存在性测试有关的工具。它不会改变什么样的查询是可能的。可以使用__符号对外键关系进行过滤-有关示例,请参见docs。例如,从您的valueResults模型通过value链接到Items

 if valueResults.objects.filter(value_id__item_id__status="yes", value_id__item_id__item_id=item_id).exists():
     # do something

相关问题 更多 >

    热门问题