我试图在纬度和经度之间搜索对象。 问题是对象纬度和经度都是charFields,当我尝试比较时,它没有考虑到负面因素。
models.py:
class myModel(models.Model):
latitud = models.CharField(max_length=25, blank=True, null=True)
longitud = models.CharField(max_length=25, blank=True, null=True)
views.py:
def myFunc(request):
max_lat = 2.23245
min_lat = 1.12232
max_lon = -1.0023
min_lon = -3.12345
#With latitude no problem because is positive
try:
tokiak = Tokia.objects.filter(
latitud__lte=lat_max,
latitud__gte=lat_min,
longitud__lte=lon_max,
longitud__gte=lon_min
)
如何考虑' - '? 最好将CharField更改为FloatField / DecimalField? (我不喜欢)
THX。
答案 0 :(得分:1)
最好将CharField更改为FloatField / DecimalField吗?
是的
当你试图在圆孔中安装方形钉并且这总是会出现问题时,你的数据类型总是准确地表示它们所持有的数据。数字总是具有数字数据类型.. 始终。