Django

Code

Changeset 7601

Show
Ignore:
Timestamp:
06/09/08 11:17:54 (6 months ago)
Author:
jacob
Message:

Fixed #7298: prevent update() on sliced QuerySet? since UPDATE doesn't reliably support LIMIT/OFFSET. Thanks, George Vilches.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/db/models/query.py

    r7504 r7601  
    293293        fields to the appropriate values. 
    294294        """ 
     295        assert self.query.can_filter(), \ 
     296                "Cannot update a query once a slice has been taken." 
    295297        query = self.query.clone(sql.UpdateQuery) 
    296298        query.add_update_values(kwargs) 
     
    307309        useful at that level). 
    308310        """ 
     311        assert self.query.can_filter(), \ 
     312                "Cannot update a query once a slice has been taken." 
    309313        query = self.query.clone(sql.UpdateQuery) 
    310314        query.add_update_fields(values) 
  • django/trunk/tests/modeltests/update/models.py

    r7477 r7601  
    6464[{'value': u'thing'}] 
    6565 
     66We do not support update on already sliced query sets. 
     67 
     68>>> DataPoint.objects.all()[:2].update(another_value='another thing') 
     69Traceback (most recent call last): 
     70    ... 
     71AssertionError: Cannot update a query once a slice has been taken. 
     72 
    6673""" 
    6774}