我有一个非常通用的视图/模板来显示给定模型的查询集的内容。
我在 12 个地方使用了 12 个不同的查询集,现在我想在其中集成 haystack 搜索,但我不能,因为 SearchQuerySet 与模板中的 QuerySet 不匹配。
使用我做的普通查询集
{%for obj in qs%}
{{obj.foreign_key.name }}
{%endfor%}
使用 SearchQuerySet 我需要做
{%for obj in qs%}
{{obj.object.foreign_key.name}}
{%endfor%}
这基本上打破了我现在知道查询集来自哪里的通用模板和视图。
我想要一种让 searchqueryset 表现得像普通查询集的方法,我知道:
- 我会输掉分数,虽然我会维持秩序
- 我需要做一个 load_all() 来获取整个对象
关于如何保持模板通用但接受 SearchQuerySet 或将 SearchQuerySet 转换为 QuerySet 的任何提示?