Django

Code

Ticket #5417 (closed: duplicate)

Opened 10 months ago

Last modified 10 months ago

Add a way to update multiple records at once

Reported by: adrian Assigned to: nobody
Milestone: Component: Database wrapper
Version: SVN Keywords: feature_request, qs-rf
Cc: Triage Stage: Accepted
Has patch: 1 Needs documentation: 0
Needs tests: 1 Patch needs improvement: 0

Description

The Django ORM currently doesn't allow for the update of multiple records in a single statement. We can add this feature in a pretty clean and consistent way by adding a QuerySet.update() method:

# UPDATE place SET city='Chicago' WHERE city='chicago';
Place.objects.filter(city='chicago').update(city='Chicago')

# UPDATE contestant SET age=age+2 WHERE answer='1';
Contestant.objects.filter(answer='1').update(age=SqlClause('age+2'))

The second example introduces SqlClause, which would be a way of specifying clauses instead of hard-coded values. We could potentially begin using this SqlClause in other places, too.

Attachments

mult_update_partial.diff (1.0 kB) - added by deepak <deep.thukral@gmail.com> on 09/16/07 07:04:01.
need testing doing part1

Change History

09/15/07 14:49:59 changed by PhiR

  • keywords set to feature_request.
  • needs_better_patch changed.
  • needs_tests changed.
  • needs_docs changed.

09/16/07 04:17:59 changed by Simon G. <dev@simon.net.nz>

  • keywords changed from feature_request to feature_request, qs-rf.
  • stage changed from Unreviewed to Accepted.

09/16/07 07:04:01 changed by deepak <deep.thukral@gmail.com>

  • attachment mult_update_partial.diff added.

need testing doing part1

09/16/07 07:06:12 changed by deepak <deep.thukral@gmail.com>

  • has_patch set to 1.
  • needs_tests set to 1.

Sorry, I was working on it before qs-rf tag, so I just added where i was till then. Its partial patch(covers example 1) and needs testing.

09/16/07 17:10:00 changed by ubernostrum

  • status changed from new to closed.
  • resolution set to duplicate.

Duplicate of #4260.


Add/Change #5417 (Add a way to update multiple records at once)




Change Properties
Action