Wie "bulk update" mit Django?

Möchte ich zum aktualisieren einer Tabelle mit Django - so etwas wie dieses im raw-SQL:

update tbl_name set name = 'foo' where name = 'bar'

Mein erstes Ergebnis ist so etwas wie das - aber das ist böse, nicht wahr?

list = ModelClass.objects.filter(name = 'bar')
for obj in list:
    obj.name = 'foo'
    obj.save()

Gibt es eine elegantere Möglichkeit?

Vielleicht suchen Sie nach batch einfügen. Werfen Sie einen Blick auf stackoverflow.com/questions/4294088/...
Ich weiß nicht, wie das einfügen neuer Daten - aktualisieren vorhandener.
Vielleicht mit Hilfe von select_for_update? docs.djangoproject.com/en/dev/ref/models/querysets/...
Was ist Sie nicht böse über die ModelClass Ansatz? Dann füttern Sie zu Django: stackoverflow.com/questions/16853649/...

InformationsquelleAutor Thomas Schwärzl | 2012-09-30

Schreibe einen Kommentar