django查询将charField与Float进行比较

时间:2016-01-26 10:11:14

标签: django

我试图在纬度和经度之间搜索对象。 问题是对象纬度和经度都是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。

1 个答案:

答案 0 :(得分:1)

  

最好将CharField更改为FloatField / DecimalField吗?

当你试图在圆孔中安装方形钉并且这总是会出现问题时,你的数据类型总是准确地表示它们所持有的数据。数字总是具有数字数据类型.. 始终