Tengo varios modelos y quiero devolver un conjunto de consulta de todos los modelos que pertenecen a un usuario. Me pregunto si es posible devolver un Queryset de varios modelos.Django Queryset en todos los modelos?
Respuesta
Supongo que quiere decir que desea devolver un solo conjunto de consulta de todos los objetos que pertenecen al usuario de cada modelo.
¿Necesita un conjunto de preguntas o simplemente un iterable? AFAIK, los qs heterogéneos no son posibles. Sin embargo, puede devolver fácilmente una lista, un iterador encadenado (itertools) o un generador para hacer lo que desee. Esto supone que los modelos que hacen referencia al usuario se conocen con anticipación. Suponiendo related_name defecto los atributos de QuerySet relacionados podrían ser accedidos desde instancia de usuario mediante el nombre del modelo:
qs = getattr(user, '%s_set' % model_name.lower());
Por supuesto, el uso de cualquier lista heterogénea que le sea sólo será capaz de utilizar campos o métodos que se definen a través de todos estos modelos , o tendría que determinar el tipo de cada objeto para hacer cualquier tipo de acciones específicas.
Sus modelos deben contener campos de relación (ForeigKey y ManyToManyField), con el conjunto de argumentos de palabra clave related_name. Consulte la documentación here.
- 1. ForeignKey a varios modelos o Queryset
- 2. Orden Django QuerySet
- 3. Django: ¿Cambiar modelos sin borrar todos los datos?
- 4. Filter Queryset en Django inlineformset_factory
- 5. ¿Cómo obtener una Django QuerySet de todos ForeignKeys de todos los objetos en un conjunto de consultas
- 6. Obtiene todos los objetos relacionados de muchos a muchos de un Django QuerySet
- 7. queryset Django para muchos-a-muchos coloca
- 8. Anulación queryset defecto en Django administrador
- 9. Django filter on queryset intersection?
- 10. ¿Cómo funcionan los modelos Django?
- 11. Modificar queryset predeterminado en django
- 12. Django - Lista única de QuerySet
- 13. Pedido personalizado Django QuerySet por ID
- 14. Django QuerySet filter + order_by + limit
- 15. ¿Qué es un django QuerySet?
- 16. ¿Cómo puedo hacer un accesorio de QuerySet en django?
- 17. Comprobación de queryset vacío en Django
- 18. impresión Django QuerySet SQL con ""
- 19. Filtros de Django Custom Queryset
- 20. cómo subconsultar en queryset en django?
- 21. SQLAlchemy "event.listen" para todos los modelos
- 22. Django: filtro para get_foo_display en un Queryset
- 23. Django queryset de actualización con la anotación
- 24. Django modelos, funciones personalizadas
- 25. Django: Representación de cadena de los modelos
- 26. Excluir toda QuerySet de los resultados
- 27. administrador de Django: ¿cómo obtener todos los modelos registrados en templatetag?
- 28. ¿Filtrar los resultados de Django Haystack como QuerySet?
- 29. Llamar a Django guardar en un objeto QuerySet - El objeto 'QuerySet' no tiene ningún atributo 'guardar'
- 30. django - pidiendo queryset por un campo calculado
Duplicado: http://stackoverflow.com/questions/313137/using-django-how-can-i-combine-two-queries-from-separate-models-into-one-query –