Sto provando a filtrare gli oggetti nel mio database usando .filter(field__lte = parameter)
tuttavia restituisce TUTTI gli oggetti e non ne filtra nessuno. Ho persino impostato il parametro su molto al di sopra di qualsiasi valore memorizzato nel database e tutti gli oggetti sono ancora restituiti.Filtro queryset Django GT, LT, GTE, LTE restituisce l'elenco completo degli oggetti
>> all_objects = Ranked.objects.all()
>> filtered = all_objects.filter(score__lte = 100) #The max possible score is 100
>> len(filtered)
87 #Every object in the db
Il campo del database che sto interrogazione di contro è un IntegerField
.
Sto facendo qualcosa di sbagliato qui? Grazie per l'aiuto.
Forse tutti gli oggetti punteggio <= 100. Sei sicuro che non ci sono oggetti il cui punteggio è> 100? –
Prova a fare 'score__lte = 10' e vedi se ottieni lo stesso risultato. Mi sembra bello - max è 100, e mi porta tutto uguale o uguale a 100 – karthikr
Django ORM interpreta la condizione fornita a '' filter'' non come _ "filtra questi" _, ma piuttosto come _ "lascia questi passano attraverso "_. –