我事先道歉这个问题太宽泛了,但我需要一些帮助概念化。
最终结果是我想启用基于半径的搜索。我正在使用Django。为此,我有两个类:Users和Places。 Users类内部是一个定义人们想要搜索的半径的函数。在Places类中,我有一个函数定义中点,如果有人进入城市和州而不是拉链(即,如果有人进入纽约,纽约,许多邮政编码与之相关联,所以我需要找到中点)。
我把这两部分放下了。所以现在我有一个半径,人们想要搜索,我知道(估计)的地方。现在,我将这两者结合起来遇到了很大的困难,甚至想到如何做到这一点。
我试图在视图中相互搜索,但是当我在模板中循环一个模型但是试图根据另一个模型的if语句显示结果时遇到了很多麻烦。
似乎自定义模板标签可以解决该问题,但我想确保我首先正确地概念化问题。即,
我是否想根据模板中的if语句进行显示?
或者我应该在模型文件中基于其他两个类创建另一个类?
或者我应该为模型文件中的一个类创建一个新列?
我想我的最终问题是,基于我想做什么(启用基于半径的搜索),大部分工作应该在哪里/如何完成?如果问题过于宽泛,我再次道歉。
答案 0 :(得分:1)
也许您可以将其放在呈现搜索页面的视图中。
asuuming你有一个像search
这样的视图功能你可以:
获取用户半径request.user.get_radius
根据该半径relevant_places = Places.get_all_places_in_radius
将这些地方渲染给用户
答案 1 :(得分:0)
根据您的描述,我相信GeoDjango值得您花时间研究:http://geodjango.org/
特别是如果你想要启用基于半径的搜索,大部分繁重的工作已经由GeoDjango完成,你只需花一些时间学习如何使用它(这只是你需要的一小部分时间)不得不花“重新发明轮子”,可以这么说)
答案 2 :(得分:0)
我刚决定将该功能添加到视图中,以便在用户输入后可以将信息直接输入到模型中。谢谢您的帮助。我可能最终会看到geodjango。