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'

кто-нибудь может мне помочь?

Вернуться на верх