Django - проблема фильтра для самосравнения модели
в django через python 3, я хочу, чтобы мои водители могли присоединиться к живому запросу клиента, радиус покрытия которого определен нашим клиентом. у меня есть такой код:
pnt = GEOSGeometry('SRID=4326;POINT(%s %s)' % (supply.data['gpsCoordinate']['coordinates'][0], supply.data['gpsCoordinate']['coordinates'][1]))
demands = DemandModel.objects.annotate(
distance=Distance('gpsCoordinate', pnt),
).filter(distance__lte=D(km=DemandModel.allowedDistance),
locationType = location.locationType,
demandType = location.supplyType
).exclude(userProfile = location.userProfile)
мне нужно, чтобы местоположение водителя проверялось разрешенным пользователем расстоянием (allowedDistance) и если оно меньше, чем ярость, добавлялось. поэтому моя проблема в km=DemandModel.allowedDistance. что не работает и получаю эти ошибки:
float() argument must be a string or a number, not 'DeferredAttribute'
кто-нибудь может мне помочь?