【发布时间】:2021-07-26 23:02:05
【问题描述】:
我正在尝试创建一种方法,该方法返回 QuerySet 或与给定点的距离(按 LAT、LNG)的包裹。
问题是它返回错误:
@classmethod
def get_closest_parcels(cls, lat: decimal.Decimal, lng: decimal.Decimal, county=None) -> ParcelQuerySet:
return Parcel.objects.annotate(distance=point_dist(lat, lng, F('lat'), F('lng')))
错误
geo.pyx in h3._cy.geo.point_dist()
TypeError: must be real number, not F
我的目标是找到 5 个最近的包裹。
你知道如何使用 Django ORM 做到这一点吗?
【问题讨论】:
-
F()是一个表达式(准确地说是一个 SQL 表达式)而不是一个值。
标签: python sql django postgresql django-orm