Ho una manciata di record che vorrei ordinare in base a un valore calcolato. Avuto la risposta over here ... in questo modo:django - converte una lista in una serie di query
sorted(Profile.objects.all(), key=lambda p: p.reputation)
su una classe profilo come questo:
class Profile(models.Model):
...
@property
def reputation(self):
...
Purtroppo la vista generica si aspetta un oggetto set di query e genera un errore se lo do una lista .
C'è un modo per fare questo che restituisce un set di query
o ...
Posso convertire un elenco ad un set di query in qualche modo? Impossibile trovare qualcosa di simile nei documenti django.
Sto sperando di non denormalizzare i dati, ma credo che lo farò se devo.
Aggiornamento/Risposta:
sembra che l'unico modo per ottenere un set di query posteriore è se è possibile ottenere tutta la tua logica nelle query SQL.
Quando ciò non è possibile, (credo) è necessario denormalizzare i dati
Non è una domanda migliore "Come posso passare una lista (o un dizionario) ad una vista generica"? Presumo che, se l'hai risolto, non importa se lo hai fatto convertendo in un queryset o no ... –
sì ... lo è, ma volevo solo sapere se c'era un modo semplice per convertirlo in un queryset prima di andare a bifare le viste generiche;) Mod – Jiaaro
, questo non è un duplicato. È una domanda diversa a cui la risposta è: "non puoi farlo, quindi devi fare qualcos'altro". Quel "qualcos'altro" è descritto nell'altra domanda. – Jiaaro