django-queryset - Django lte 和 gte 查询产生空查询集
问题描述
我难住了。我有一个 Django 查询应该返回结果,但似乎没有。
我有一个带有纬度和经度数据的模型邮政编码的数据库。
class Postcode(models.Model):
name = models.CharField(max_length=50)
postcode = models.CharField(max_length=7)
latitude = models.DecimalField(max_digits=8, decimal_places=5, blank=True, null=True)
longitude = models.DecimalField(max_digits=8, decimal_places=5, blank=True, null=True)
我想在给定的邮政编码中找到 100 公里的邮政编码,位于:
{'latitude': 1.445671659052796, 'longitude': 1.6673342919117797}
我发现纬度和经度范围是:
longitude_max = 1.9703812919117922
longitude_min = -1.3642872919117792
latitude_max = 52.2326886590528
latitude_min = 49.3413453409472
我像这样查询数据库:
return Postcode.objects.filter(latitude__range=(latitude_min, latitude_max), longitude__range=(longitude_min, longitude_max))
但是我什么都没有回来?我至少应该得到我推断范围的结果!
解决方案
如果您使用该坐标的这些参数进行过滤,则查询集将不包含该项目。纬度超出了提供的范围。
推荐阅读
- vbscript - 如果文件名中的字符串匹配,则将多个 .TXT 文件合并为一个
- python-3.x - 将具有一行的列插入熊猫数据框
- sql - 将 SQL 查询的列分组到数组中
- java - Camel 文件使用者在消耗目录中的大量文件时表现非常缓慢
- python - 为什么`ctypes`比扩展python慢?
- c - MPLABX XC16 无法解析内置标识符 __builtin_dmaoffset
- ios - Swift:UILabel,闪烁 textColor 动画
- firebase - 开始使用适用于 Firebase 和 Firestore 的 Cloud Functions
- javascript - 如何使用ajax访问两个不同的对象?
- vue.js - 如何在 VueJS 中制作图像网格堆栈?