De manera predeterminada, el sitio de administración de Django muestra todos los registros de un modelo/tabla relacionado para su visualización. ¿Cómo puedo mostrar solo los registros que cumplen ciertos criterios?¿Cómo limitar queryset/los registros para ver en el sitio de administración de Django?
Respuesta
En su definición de administrador, puede definir un método queryset()
que devuelve el conjunto de consulta para el administrador de ese modelo. por ejemplo:
class MyModelAdmin(admin.ModelAdmin):
def queryset(self, request):
qs = super(MyModelAdmin, self).queryset(request)
return qs.filter(user=request.user)
Entonces sólo los objetos con user=request.user
serán visibles en el admin.
+1 ¡Estoy tan feliz de ver esto y resultó ser tan simple! ¡Gracias! – Viet
Pero de esta manera, no es posible obtener consultas adicionales para otros usuarios si desea buscar eso. Entonces no responde la pregunta de la forma en que la leo. –
Dado que Django 1.6 'queryset' ha sido reemplazado por' get_queryset' – peter2108
Sé que esto tiene una "respuesta aceptada", pero quería dejar esto ahí desde que encontré esta respuesta mientras buscaba otra cosa y me di cuenta de que tenía una solución alternativa que encontré y uso a menudo que me da más control de nivel granular que la respuesta aceptada.
class TestAdmin(admin.ModelAdmin):
def formfield_for_foreignkey(self, db_field, request, **kwargs):
if db_field.name == "FIELD":
kwargs["queryset"] = TestModel.objects.filter(test=False)
return super(TestAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)
def formfield_for_manytomany(self, db_field, request, **kwargs):
if db_field.name == "FIELDS":
kwargs["queryset"] = TestModel.objects.filter(test=False)
return super(TestAdmin, self).formfield_for_manytomany(db_field, request, **kwargs)
¡Mira lo que pasó allí! Su respuesta fue buena ... la tuya fue mejor. Sterling trabajo. –
- 1. auto-poblar con Django sitio de administración
- 2. Puntos de "ver en el sitio" de Django Admin para example.com en lugar de mi dominio
- 3. ¿Limitar el número de registros de mysqldump?
- 4. Uso forms.TextArea para el campo JSON personalizada en el sitio de administración de Django
- 5. sitio de administración de Django: ¿cómo crear una sola página para configuraciones globales?
- 6. Django sitio de administración de revertir línea ForeignKey
- 7. ¿Es posible cambiar el nombre del modelo en el sitio de administración de django?
- 8. personalizar el panel de administración de django?
- 9. En el sitio de administración de Django, ¿cómo cambio el formato de visualización de los campos de hora?
- 10. Mostrando excepciones de validación de modelo personalizado en el sitio de administración de Django
- 11. ¿Cómo puedo generar una URL para un artículo en particular en el sitio de administración de Django desde una vista?
- 12. filtros teniendo en Django administración
- 13. ¿Cómo ver los registros desde el iPhone?
- 14. ¿Cómo puedo habilitar ManyToManyFields en línea en mi sitio de administración de Django?
- 15. administrador de Django: faltan líneas para algunos registros
- 16. Viendo el model's__unicode__ de administración de Django
- 17. Nombre detallado para el modelo de administración Clase en django
- 18. línea Django de administración para ManyToMany recursiva
- 19. Cómo limitar la elección de opciones de campo basado en otro campo de elección en administración de Django
- 20. El conseguir Django URL de administración para un objeto
- 21. sistema de administración de usuarios para un sitio web
- 22. Crear un campo oculto en el sitio de administración
- 23. Cómo anulo help_text en la interfaz de administración de django
- 24. cómo limitar el acceso a la administración activa de los usuarios administradores
- 25. ¿cómo puedo crear un método de limpieza personalizado para el sitio de administración?
- 26. ¿Cómo puedo limitar el tamaño del access_log de Apache y limitar el número de registros archivados que guarda?
- 27. ¿Cómo puedo limitar qué países pueden ver mi sitio web (PHP)
- 28. cómo ver un sitio en localhost
- 29. Cómo limitar los campos en django-admin según el usuario?
- 30. ¿Cómo puedo ver los registros de errores de las vistas de Django
¿Quiere decir de forma predeterminada, o simplemente desea que esa opción esté disponible en la página de lista de cambios? –
Por defecto. Cada vez que cargo la página, muestra solo registros que significan algunos requisitos. Esos requisitos se pueden cambiar en el back-end. – Viet
Y también, ¿cómo hacer que aparezcan en la página de la lista de cambios? – Viet