问题标签 [drf-queryset]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django-rest-framework - 如何在空列表的drf中使用“__in”选择所有?
例如,如果我必须选择特定的 ID,我可以使用:
id_list=[1,4,7]
但问题是id_list
使用在前端选择的过滤器填充。所以最初id_list
将为空(id_list=[]
)
那么,有没有办法在为空Blog.objects.filter(pk__in=id_list)
时选择所有ID?id_list
django - 是否有任何替代 get_queryset() 方法来捕获 Django ViewSet 中的查询参数?
我正在使用的是:
是否有任何替代方法来捕获查询参数。
django - 将 Django 查询对象 values() 传递给 Django Rest Framework Serializer
我试图获得与我的 django 查询相同的输出,但是当 Django Rest Framework 提供服务时,实际输出会有所不同。在我的序列化程序中添加了以下内容,但它一直忽略cart_assessments__risk_type
输出。如何使我的 django rest 框架序列化程序输出与我的 django 查询输出匹配?
模型.py:
视图.py
序列化程序.py
我试图让我的序列化程序提供与以下相同的输出:
cart_assessments__risk_type
到达 SubwayTrainDetailsViewSet 的端点/路线时,Django Rest Framework缺少实际输出:
我如何 django rest 框架使用cart_assessments__risk_type
?p提供输出
python - DRF ModelViewSet 查询集返回其日期大于或等于今天的结果
我正在使用 Django 休息框架。
在查询集中,我试图根据它们的日期是否大于或等于今天来过滤我的对象。像这样:
但这最终也会显示过去的日期。
我的序列化器:
然后我将它传递给事件序列化器:
我的目标是当我的 API 返回所有事件时,它不应该返回过去的所有日期。
我究竟做错了什么?
django - 如何使用“in or range”查找方法过滤并确保列表中的任何项目不可用然后返回空查询集
我的代码片段:
在上面的代码片段中,我希望以下行能够以这样一种方式工作,即如果缺少某个日期,那么它不应该返回其他日期。在 range/in 运算符中实际发生的是,如果它找到一个或多个匹配数据,它会在查询集中返回这些数据。但这不是我需要的。我需要确保如果所有日期都匹配,则只返回查询集,否则它应该为空。
Q(hotel_log__date__range=[check_in_date, check_out_date])
如果 in 运算符的解决方案可行,我们也可以使用“in”运算符。在这种情况下,代码片段将是:
Q(hotel_log__date__range=date_list)
为了更好地理解,我还添加了模型
例子:
假设在表中我们有 13、14、15、16、17 April,在过滤器中,我们正在搜索 13 到 19 April。现在,如果我们使用“in”运算符,我们将获得 4 月 13 日至 17 日的数据,但我不希望这样。如果 4 月 13 日至 19 日的任何一天数据不可用,那么我想要一个空的查询集。
预言:
我相信这可以使用“when”和“then”或“case”来完成,但我在这里迷路了。有人可以指导我吗?
django-rest-framework - “详细信息”:“未找到。” DRF
我得到“详细信息”:“未找到。” 当我访问此链接 localhost:8000/portal/finalyears/1/members/2 但当我使用以下链接时,它会显示详细信息: localhost:8000/portal/finalyears/1/members/1
我的 urls.py 文件包含:
模型“成员”如下所示:
API.py 包含:
我可以通过以下代码打印数据
python - 带有布尔字段的 filter_queryset
我有以下看法:
在unread_messages
我只想返回具有的对象mark_read = True
(这是一个布尔字段)。现在它返回所有对象,因为方法中没有关于 True 或 False 的限制。
那么如何在方法中设置某种标志呢?
python - DRF:如何在使用深度选项的序列化程序中隐藏密码?
我正在为User
模型使用下面的序列化程序,但是当我使用深度处理外键时,密码会显示在User
对象中。
用户序列化器:
在下面的序列化程序中一切都很好:
但是在下面与以前的模型/序列化程序有关的内容中,我遇到了密码问题: