J'aimerais mettre à jour une table avec Django - quelque chose comme ceci en SQL brut :
update tbl_name set name = 'foo' where name = 'bar'
Mon premier résultat est quelque chose comme ça - mais c'est méchant, n'est-ce pas ?
list = ModelClass.objects.filter(name = 'bar')
for obj in list:
obj.name = 'foo'
obj.save()
Existe-t-il un moyen plus élégant ?
1 votes
Vous recherchez peut-être un insert de lot. Jetez un coup d'œil à stackoverflow.com/questions/4294088/
0 votes
Je n'aime pas insérer de nouvelles données, mais seulement mettre à jour les données existantes.
3 votes
Peut-être avec l'aide de select_for_update ? docs.djangoproject.com/fr/dev/ref/models/querysets/
0 votes
Ce qui n'est pas désagréable dans le
ModelClass
approche ? Alors nourrissez-vous à Django comme : stackoverflow.com/questions/16853649/