我正在尝试根据搜索显示我的数据地图。处理地图显示的最简单方法是序列化搜索生成的查询集,实际上这可以正常使用。但是,我真的希望允许多次搜索,显示的点以用户选择的颜色显示。用户选择的颜色显然不能来自数据库,因为它不是这些对象的属性,因此这里没有任何聚合器有意义。
我试过简单地创建一个实用程序类,因为我真正需要的是两个模型类之间的某种复杂连接,然后将其序列化为geojson。但是,一旦我创建了该实用程序类,很明显我失去了使用查询集的许多好处,特别是使用django-geojson轻松序列化数据的能力(或者本身一旦我可以获得1.8以便顺利运行)。
基本上,我希望能够做到这样的事情:
querySet = datumClass.objects.filter(...用户提交的搜索参数...)。annotate(color =' blue')
这有可能吗?看起来这会更优雅,并且比我当前的非模型实用程序类的解决方案更好,当我尝试使用python-geojson进行序列化时,它会有一些严重的序列化问题。
答案 0 :(得分:0)
如果您有一个将字段映射到值的字典,则可以执行
之类的操作filter_dictionary = {
'date__lte' : '2014-03-01'
}
qs = DatumClass.objects.filter(**filter_dictionary)
并且qs
的所有日期都会小于该日期(如果它有date
字段)。因此,作为用户,我可以提交您可以放在字典中的任何键值对。
答案 1 :(得分:0)
不太确定您要实现的目标,但您可以在对象中添加额外的属性,迭代查询集中的。这些可以从模板访问。
for object in queryset :
if object.contition = 'a'
object.color = 'blue'
else:
object.color = 'green'
答案 2 :(得分:0)
问题在于额外附带了关于有用性或弃用的各种警告......但是这样做有效:
var lib = new MyLib(Response.Output);
lib.DoSomething();
public string TellMeSomething()
{
return "Hello World";
}
注意包装字符串值的双引号。
这转换为:
public string TellMeSomething()
{
return "Hello World";
}