J'ai une requête personnalisée qui renvoie éventuellement une liste d'objets. J'ai besoin de la fonction pour retourner les objets réels, mais je ne veux pas frapper la base de données deux fois pour chaque requête, car c'est déjà une requête coûteuse. Comment puis-je retourner une instance de modèle sans toucher le db? NB: Je suppose que faire quelque chose comme ce qui suit va réellement créer une nouvelle instance d'un modèle différent?Renvoyer un modèle à partir d'une requête personnalisée sans appuyer sur la base de données
return [Object(pk=row[0]) for row in results]
NB: Je présume que cela va frapper la base de données, le retour de la fonction
return [Object.objects.get(pk=row[0]) for row in results]
Pourquoi ne pouvez-vous pas retourner un jeu de requête? –
@lazerscience: Je suis persuadé qu'il trouve le SQL trop compliqué/impossible à dupliquer en utilisant l'API de Django. –
@lazerscience: ouais, c'est comme le dit Manoj, le SQL ne peut tout simplement pas être fait en utilisant django ORM. merci – Duncan