2014-03-05 30 views
2

我必須限制在django ORM Model對象中更新的記錄數。如何把django orm更新查詢的訂單限制在

我已經試過

CustomObject.objects.filter(column_x='XXX').update(column_y='YYY')[:10] 

但切片不允許與更新。

並且不希望單獨獲取該id並使用這些id進行更新,因爲記錄數量非常大(100萬至8000萬),對打擊DB有興趣。

回答

1

我不認爲這是可能的,至於ids,你不必加載所有記錄一次,加載一個切片,更新它,然後下一個切片。見this example

2

使用嵌套查詢:

nested_q = CustomObject.objects.filter(column_x='XXX')[:10] 
CustomObject.objects.filter(pk__in=nested_q).update(column_y='YYY')