J'ai une liste d'objets de modèle:django, liste des modèles à la liste des chaînes
juste un exemple (je ne fais pas vraiment une liste de tous()):
class Tag(models.Model):
name = models.CharField(max_length=50,primary_key=True)
#Some other fields....
def __str__(self):
return self.name
mylist = list(Tag.objects.all())
Qu'est-ce le meilleur moyen de convertir cela en une liste de chaînes?
Dois-je itérer la liste?
je faisais quelque chose comme:
newList = [ t.str() for t in mylist ]
une meilleure façon?
Je dirais que votre chemin est bon. – brandizzi
Je pense que si vous avez vraiment besoin d'une liste de chaînes votre code est bien. La question est, avez-vous vraiment besoin de convertir en chaîne? Souvenez-vous que les modèles utilisent votre méthode '__str__' ou' __unicode__' pour que vous n'ayez pas besoin de les passer. Vous pouvez aussi faire [x.name pour x dans mylist], cela peut être un peu plus rapide. –
Ce n'est pas pour un modèle ... Je reçois une liste d'éléments avec une requête complexe. alors j'ai besoin d'obtenir l'un des champs en tant que chaîne et passer cette liste à une autre requête –