Which Model Field to use in Django to store longitude and latitude values?

前端 未结 3 1907
小鲜肉
小鲜肉 2021-02-02 05:09

I want to store my users location using longitude and latitude, at the moment this comes from Google Maps, but I will be using GeoDango and some point to work out distances betw

3条回答
  •  逝去的感伤
    2021-02-02 05:48

    The suggestion here to use DecimalField(max_digits=9, decimal_places=6) resulted in errors for me when trying to save locations from Google Maps.

    If we assume that the most common use case is retrieving point locations from the Maps API, and a typical URL from Google Maps when right-clicking and selecting "What's Here?" yields something like:

    https://www.google.com/maps/place/37°48'52.3"N+122°17'09.1"W/@37.814532,-122.2880467,17z

    (random place)

    So the longitude has 15 places before and after the decimal, which is why the accepted answer doesn't work. Since there's no reason to validate for "as short as possible" and db storage is cheap, I'm using:

        max_digits=22,
        decimal_places=16)
    

提交回复
热议问题