7
votes

Django, quel est le moyen le plus rapide, le plus rapide d'obtenir uniquement un premier et dernier élément de quelque chose, client.ObjectS.xxxx

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 ...


0 commentaires

3 Réponses :


4
votes

Quel est le meilleur moyen le plus rapide d'obtenir seulement d'abord et dernier

Laissez-nous voir. xxx

bien sûr si vous pouvez proposer une requête SQL pour le faire, il pourrait être exécuté à l'aide de RAW () méthode . xxx


1 commentaires

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')



0
votes

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: XXX


2 commentaires

last_element = éléments [-1] 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 )


Définir le premier / last_element est également probablement probablement pas nécessaire.



10
votes

Probablement la plus pythonique:

myset = Customer.objects.filter(<something>).order_by(<something>)
first, last = myset[0], myset.reverse()[0]


2 commentaires

Je ne savais pas que vous pourriez utiliser .Reververse () sur un query, sympa!


L'utilisation d'indexation directement est vraiment pythonique?