Question

Dans mes vues, si j'importe un module Itertools:

from itertools import chain

Et je chaîne des objets avec:

franktags = Frank.objects.order_by('date_added').reverse().filter(topic__exact='art') 
amytags = Amy.objects.order_by('date_added').reverse().filter(topic__exact='art') 
timtags = Tim.objects.order_by('date_added').reverse().filter(topic__exact='art') 
erictags = Eric.objects.order_by('date_added').reverse().filter(topic__exact='art')

ourtags = list(chain(franktags, amytags, timtags, erictags))

Comment puis-je commander "OurTags" par le "Date_added"?

pas surpeuplement,

ourtags = list(chain(franktags, amytags, timtags, erictags)).order_by('date_added')

Renvoie un objet "" List "n'a pas d'erreur d'attribut 'Ordre_By'".

Était-ce utile?

La solution

import operator

ourtags = sorted(ourtags, key=operator.attrgetter('date_added'))

Autres conseils

À ce stade du code, vous avez déjà chargé tous les objets en mémoire et dans une liste. Triez simplement la liste comme vous le feriez pour n'importe quelle ancienne liste de python.

>>> import operator
>>> ourtags.sort(key=operator.attrgetter('date_added'))
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top