Posso o dovrei mai farlo in una vista?Modifica di un oggetto QuerySet al volo in Django
a = SomeTable.objects.all()
for r in a:
if r.some_column == 'foo':
r.some_column = 'bar'
Ha funzionato come un campione, ma ho provato una cosa simile da qualche altra parte e mi è stato sempre risultati strani, il che implica che gli oggetti QuerySet non piace scherzare. E, non ho visto nulla nel documento buono o cattivo per questo tipo di trucco.
So che ci sono altri modi per farlo, ma in particolare voglio sapere se questa è una cattiva idea, perché è male, e se è davvero male, quale è il modo "migliore" più django/pitoni cambiare i valori al volo sarebbe.
Grazie, Daniel. Il tuo esempio è esattamente ciò che intendevo quando ho detto "So che ci sono altri modi per farlo" e apprezzo anche i tuoi chiarimenti. Oh, e il tuo esempio di prendere una fetta è esattamente ciò che stava causando gli strani risultati che ho menzionato. Sono un po 'imbarazzato che non l'abbia capito, e sono contento che tu l'abbia indicato. Saluti! – proffrink