【发布时间】:2015-04-28 21:06:56
【问题描述】:
我正在尝试根据搜索显示我的数据地图。处理地图显示的最简单方法是对搜索生成的查询集进行序列化,实际上使用 .但是,我真的很想允许多次搜索,显示的点以用户选择的颜色显示。用户选择的颜色,显然不能来自数据库,因为它不是这些对象的属性,所以这里没有一个聚合器有意义。
我尝试过简单地创建一个实用程序类,因为我真正需要的是在两个模型类之间进行一些复杂的连接,然后将其序列化为 geojson。然而,一旦我创建了该实用程序类,很明显我失去了拥有查询集的很多好处,尤其是使用 django-geojson 轻松序列化数据的能力(或者一旦我可以让 1.8 顺利运行)。
基本上,我希望能够执行以下操作:
querySet = datumClass.objects.filter(...用户提交的搜索参数...).annotate(color='blue')
这可能吗?看起来这会更优雅,并且会比我当前的非模型实用程序类解决方案更好,当我尝试使用 python-geojson 进行序列化时,该解决方案存在一些严重的序列化问题。
【问题讨论】:
-
我在理解您的用例时遇到了一些麻烦,但这不是
.extra(color='blue')的工作吗?
标签: django django-models