0

我提前道歉,这个问题太宽泛了,但我需要一些帮助来概念化。

最终结果是我想启用基于半径的搜索。我正在使用 Django。为此,我有两个类:Users 和 Places。Users 类内部有一个函数,用于定义人们想要搜索的半径。在 Places 类中,我有一个函数,如果有人进入城市和州而不是邮政编码,则定义中点(即,如果有人进入纽约,NY 很多邮政编码与之相关,所以我需要找到中点)。

我把这两个部分放下了。所以现在我有一个人们想要搜索的半径,我知道(估计)这些地方。现在,我在将两者结合起来时遇到了巨大的困难,甚至在思考如何做到这一点。

我尝试在视图中进行相互搜索,但是当我在模板中循环遍历一个模型但尝试根据另一个模型的 if 语句显示结果时遇到了很多麻烦。

似乎自定义模板标签可以解决该问题,但我想确保我首先正确地概念化了问题。IE,

  • 我想根据模板中的 if 语句进行显示吗?

  • 或者我应该基于模型文件中的其他两个创建另一个类?

  • 或者我应该为模型文件中的一个类创建一个新列?

我想我的最终问题是,基于我想要做什么(启用基于半径的搜索),大部分工作应该在哪里/如何完成?再次,如果问题过于宽泛,我深表歉意。

4

3 回答 3

1

也许你可以把它放在呈现搜索页面的视图中。

假设你有一个像你一样的视图功能search

  1. 获取用户半径request.user.get_radius

  2. 根据该半径搜索地点relevant_places = Places.get_all_places_in_radius

  3. 将这些地方呈现给用户

于 2012-11-02T15:35:18.610 回答
0

根据您所描述的,我相信 GeoDjango 值得您花时间研究:http ://geodjango.org/

特别是如果你想启用基于半径的搜索,大部分繁重的工作已经由 GeoDjango 完成,你只需要花一些时间学习如何使用它(这只是你必须花费的时间的一小部分“重新发明轮子”,可以这么说)

于 2012-11-02T15:25:52.533 回答
0

我只是决定将函数添加到视图中,以便用户输入后可以将信息直接输入到模型中。谢谢您的帮助。我可能最终会调查geodjango。

于 2012-11-02T19:55:29.980 回答