¿Cómo creo un filtro en Django Admin para mostrar solo los registros donde un valor entero se encuentra entre dos valores? Por ejemplo, si tengo un Persona modelo, que tiene un atributo de edad, y solo quiero mostrar los registros Persona donde la edad está entre 45 y 65.Administrador de Django: ¿Cómo puedo filtrar en un campo entero para un rango específico de valores?
Administrador de Django: ¿Cómo puedo filtrar en un campo entero para un rango específico de valores?
Respuesta
Simplemente desea una versión filtrada de la vista de lista, que acceso a través de un enlace (por ejemplo, en la vista de lista), por ejemplo, para ver sólo los elementos relacionados de un modelo, se hace algo como esto:
def admin_view_receipts(self, object):
url = urlresolvers.reverse('admin:invoice_%s_changelist'%'receipt')
params = urllib.urlencode({'invoice__id__exact': object.id})
return '<a href="%s?%s">Receipts</a>' % (url, params)
admin_view_receipts.allow_tags = True
admin_view_receipts.short_description = 'Receipts'
esto le llevará a una vista de lista de 'Reciepts', pero solo aquellos vinculados a la Factura seleccionada.
Si desea un filtro que aparece en la barra lateral, usted podría try this snippet o this
Lo que se busca es http://djangosnippets.org/snippets/587/ - el fragmento es un poco viejo, pero funciona muy bien después de un cambio de menor importancia adicional.
he subido la versión parcheada en https://gist.github.com/1009903
Basado en another answer for a related question, he aprendido que hay una officially documented way hacer que since version 1.4. Incluso incluye un ejemplo de filtrado por fecha.
Aún así, el fragmento en el sorin answer también es interesante, porque simplemente agrega parámetros de estilo django a la URL, que es una solución diferente a la documentación oficial.
puede filtrar el campo de lo que algunos como esto mediante el uso de funciones queryset()
... Me habían utilizado SimpleListFilter
def queryset(self, request, queryset):
filt_age = request.GET.get('parameter_name')
return queryset.filter(
age__range=self.age_dict[filt_age]
)
Y crear dict en lookups()
y devolverlo De acuerdo con la edad
def lookups(self, request, model_admin):
return [
(1, '5-21'),
(2, '22-35'),
(3, '35-60')
]
- 1. Django: Cómo filtrar usuarios que pertenecen a un grupo específico
- 2. ¿Cómo puedo filtrar un campo específico de los registros SQL de Rails?
- 3. ¿Cuáles son los valores válidos para un campo URL django?
- 4. Django invertido administrador list_display (no) un campo booleano
- 5. ¿Cómo puedo barajar un rango específico de una ArrayList?
- 6. ¿Cómo puedo filtrar valores en un formulario de Django usando ModelForm?
- 7. ¿Puedo hacer un campo de administrador no requerido en Django sin crear un formulario?
- 8. ¿Cómo puedo obtener todos los objetos en un modelo de Django que tienen un valor específico para un campo ForeignKey?
- 9. Adición de encargo JS a un campo Django administrador
- 10. campo entero grande en modelos de Django
- 11. Cómo filtrar una cadena en Java con un rango específico (formato de correo electrónico)
- 12. Shark: cómo filtrar a un método específico
- 13. Campo de elección de administrador de Django
- 14. ¿Hay alguna forma de filtrar un queryset en el administrador de django?
- 15. Django: ¿Cómo establecer los valores iniciales para un campo en un formset de modelo en línea?
- 16. Cómo filtrar un queryset django utilizando una matriz en un campo como "IN" de SQL?
- 17. ¿Cómo puedo filtrar la salida de compilación solo para un modo específico o buffer en Emacs?
- 18. Para el administrador de django, ¿cómo agrego un campo al modelo de usuario y lo edito en el administrador?
- 19. Cómo desarmar un bit específico en un entero
- 20. Número entero fuera de rango
- 21. Especialización de plantilla para un rango de valores
- 22. Generar un entero aleatorio en un rango en Haskell
- 23. ¿Cómo actualizar un campo varbinary con un valor específico?
- 24. Cómo permitir la clasificación en el administrador de Django mediante un campo list_display personalizado, que no tiene un campo DB ni anotables
- 25. Hibernar: Incrementar un campo entero
- 26. ¿Cómo agregar enlaces que se pueden hacer clic a un campo en el administrador de Django?
- 27. Administrador de Django: deshabilita la acción 'Agregar' para un modelo específico
- 28. SQL ROWNUM cómo devolver filas entre un rango específico
- 29. administrador de Django, ocultar un modelo
- 30. ¿Cómo excluyo un campo heredado en un formulario en Django?
mejor encaja en http://webmasters.stackexchange.com/questions – Svisstack
@Svisstack No lo creo; esta es una pregunta de programación – FunLovinCoder
Sí, lo sé, pero mejor abeto a los webmasters – Svisstack