在 Django 中构建地理位置过滤器应用程序

Building a geographical location filter app in Django

我想用 Djano 作为后端服务器创建一个类似应用程序的市场,用户可以在其中 buy/sell 物品。在应用程序中,我希望有一个与用户地理区域相关的功能。例如,过滤掉给定特定英里半径内的项目。

示例用例:

对于此功能

  1. 我看过 GeoDjango。但似乎我需要扩展 postgresql 数据库才能使用它,也需要使用 postgis 引擎。
  2. 我还查看了附近查询的 Haversine 公式。
  3. 还有一个多数据库支持选项。

但在继续之前我有一些初步的疑问,你的见解真的对我有很大帮助。你能帮我解决这个问题吗:

  1. 我将不得不存储用户数据和其他一些数据,包括地理位置。在 postgresql_psycopg2postgis 之间是否会有任何 difference/side 效果,以将所有数据存储在一个数据库中?
  2. 对于我的简单用例,您更愿意使用 Haversine 公式吗?还是集成 GeoDjango 对我以后有很大帮助?
  3. 或者多数据库支持对我来说更好,否则会增加开销?

点 1. postgresql_psycopg2和postgis的区别在于posgis内置了位置距离和半径计算功能,所以postgis很好用。

  1. 对于多个数据库,这取决于您将拥有多少用户,对于项目的初始阶段,您可以使用一个数据库,将来您可以改进它。