finlandés
Con =
a continuación, podría filtrar personas por age
:
qs = Person.objects.filter(age = 20)
# ↑ Here
Pero con >
, <
, >=
y <=
a continuación, no pude filtrar personas por age
:
qs = Person.objects.filter(age > 20)
# ↑ Here
qs = Person.objects.filter(age < 20)
# ↑ Here
qs = Person.objects.filter(age >= 20)
# ↑↑ Here
qs = Person.objects.filter(age <= 20)
# ↑↑ Here
Entonces, recibí el siguiente error:
NameError: el nombre ‘edad’ no está definido
Como lo puedo hacer greater than(>)
, greater than or equal to(>=)
, less than(<)
y less than or equal to(>=)
con filtrar() en Django?
lprsd
Mas grande que:
Person.objects.filter(age__gt=20)
Mayor qué o igual a:
Person.objects.filter(age__gte=20)
Menos que:
Person.objects.filter(age__lt=20)
Menos que o igual a:
Person.objects.filter(age__lte=20)
Puedes encontrarlos todos en [the documentation].(https://docs.djangoproject.com/en/stable/ref/models/querysets/).
-
Wow, eso fue rápido :). Esto funciona muy bien para menos o igual, pero ¿qué tal menos que? (userprofile__level__lt=3) no parece funcionar
– finlandés
6 de abril de 2012 a las 6:57
-
Lo hace; pero en cualquier caso, también puede excluir (__gte) en lugar de filtrar (__lt).
– lprsd
6 de abril de 2012 a las 7:01
-
Y NO olvides que hay dos
__
subraya– Andilabs
30 de enero de 2014 a las 6:48
-
Recibo este error–> {FieldError} Búsqueda no admitida ‘nivel’ para AutoField o unirse en el campo no permitido.
– Aravind Pillai
20 de septiembre de 2018 a las 3:18
-
recuerda cambiar
userprofile__level
por sus campos por ejemployoutfield__lte
. @AravindRPillai– cristianobueno.1
3 de julio de 2022 a las 23:33
Poner __gt sufijo para “GRAMObebedor Than” a el nombre del campo age
:
Person.objects.filter(age__gt=20)
# ↑↑↑↑
# age > 20
Poner __gte sufijo para “GRAMObebedor Than o miigual a” a el nombre del campo age
:
Person.objects.filter(age__gte=20)
# ↑↑↑↑↑
# age >= 20
Poner __lt sufijo para “Leso Than” a el nombre del campo age
:
Person.objects.filter(age__lt=20)
# ↑↑↑↑
# age < 20
Poner __lte sufijo para “Leso Than o miigual a” a el nombre del campo age
:
Person.objects.filter(age__lte=20)
# ↑↑↑↑↑
# age <= 20
@BéresBotond Aunque los documentos se ven geniales, la estructuración y el diseño son tan deficientes que sin un enlace directo, son casi inútiles
– Ejecutar bucle
6 de julio de 2015 a las 4:41
@BéresBotond Desafortunadamente, ese enlace ahora está muerto 🙁
– dKen
30 de agosto de 2016 a las 18:59
Enlace de trabajo para doc: docs.djangoproject.com/en/1.11/ref/models/querysets/#gt
– Gaurav Pandey
24 de enero de 2018 a las 7:43