Ho provato ad ottenere il valore dal mio modello che è kmdistance
ma restituisce un errore quando visualizzo la pagina.TypeError: float() argomento deve essere una stringa o un numero in distanza Django
Ecco il views.py
def display_maps(request):
#bases for city proper
pnt = ButuanMaps.objects.get(clandpin='162-03-0001-017-33').geom
#landproperty__sownerid__id=5 is for government user
kmdistance = request.GET.get("kmtocity", None)
mysection = (request.GET.get("mysection", None))
query_section = Section.objects.all().order_by('id')
...
query_maps = ButuanMaps.objects.filter(landproperty__sownerid__id=5, geom__distance_lte=(pnt, D(km=kmdistance)), ssectionid__id=mysection)
...
Ecco il template.html
<select name="kmtocity" class="form-control">
<option type="text" value="empty">Select Km. away from City Proper</option>
<option value="1">1</option>
<option value="5">5</option>
<option value="10">10</option>
<option value="15">15</option>
<option value="20">20</option>
</select>
Funziona bene quando ho provato a mettere il valore della distanza.
Ok, quindi come far sapere a Django che è float o numero? Ho rimosso 'Nessuno', ma genera lo stesso errore. –
@SachiTekina In questa istruzione, 'query_maps = ButuanMaps.objects.filter (landproperty__sownerid__id = 5, geom__distance_lte = (pnt, D (km = km di distanza)), ssectionid__id = mysection)', si usa 'geom__distance_lte', il che significa che sarà confrontando con la distanza. Dovrebbe essere qui che la conversione in float deve avvenire internamente. Questo sembra un deposito che devi passare, quindi l'inadempienza a un valore sufficientemente grande sarebbe un'opzione migliore qui. –
Grazie! Penso che imposterò la distanza predefinita su un valore più alto perché voglio semplicemente recuperare tutte le geom se l'utente non ha selezionato la distanza. –