django - django 使用 URL 中的字符串进行动态查询集过滤
问题描述
有什么方法可以动态过滤查询集,即我们从 url 中有一个两个字符串值并搜索第一个字符串是 模型属性的模型,并获取包含该特定属性中第二个字符串的所有对象
解决方案
嗨,您只需要遵循此解决方案并根据您的情况进行调整
Model.objects.values('attribute', 'id') # using '.values'
[{'attribute': 'some attribute', 'id': 1 }, {'attribute': 'some 3', 'id': 2}, {'attribute': 'something', 'id': 3}, {'attribute': 'some some', 'id': 4}] # returns list of dictionaries
使用“第二个字符串”过滤或搜索字典列表,并使用 id 进行新查询。你可以调整这个
Model.objects.filter(id__in=object_ids)
或使用此解决方案
filterExpresion = attribute+'__contains'
dynamicFilter = {filterExpresion: secondString}
Model.objects.filter(**dynamicFilter)
推荐阅读
- javascript - 使用 d3.drag 拖动元素组时的跳跃行为
- arrays - 如何在c中创建数组的链表
- .net - 从下拉列表中选择的值在模型页面中为空
- r - R - 用于将列文本拆分为新列的 For 循环
- java - AWS 上 Flink 的空文件附加程序错误
- elasticsearch - 从 DBeaver 连接 Elasticsearch
- bootstrap-4 - 我在为我的网站修复标题中的间距时遇到问题(引导程序 4)
- python - 使用 Jupyter 笔记本无法从“tensorflow.python.compiler.tensorrt”导入名称“trt_convert”
- php - 无法解析的依赖解析[参数#1[
$var]] 类 App\View\Components\Header(View:laracurd\resources\views\welcome.blade.php) - android - 如何将 TextView 相对于另一个居中 - Android Studio