Django, quel est le moyen le plus rapide et le plus rapide d'obtenir uniquement un premier et dernier élément de quelque chose, client.ObjectS.xxxx ce filtre, value_list ou ... P>
3 Réponses :
Quel est le meilleur moyen le plus rapide d'obtenir seulement d'abord et dernier p>
Laissez-nous voir. p>
xxx pré> bien sûr si em> vous pouvez proposer une requête SQL pour le faire, il pourrait être exécuté à l'aide de
RAW () code>
méthode . p>xxx pré> blockQuote>
Vous n'avez pas besoin d'écrire une requête deux fois: mySet = Customer.ObjectS.Filter (** Conditions); first = myset.order_by ('id') [0]; Dernier = mySet..laTest ('id')
Je ne suis pas totalement familier avec les travaux intérieurs de Django, mais je suppose que le moyen le plus rapide de le faire serait:
last_element = éléments [-1] code> augmentera une erreur; L'indexation négative n'est pas prise en charge par QuerySetSets. Ce qui est logique si vous pensez à la SQL émis (en utilisant la clause
limite code>)
Définir le premier / last_element est également probablement probablement pas nécessaire.
Probablement la plus pythonique:
myset = Customer.objects.filter(<something>).order_by(<something>) first, last = myset[0], myset.reverse()[0]
Je ne savais pas que vous pourriez utiliser .Reververse () sur un query, sympa!
L'utilisation d'indexation directement est vraiment pythonique?