python - Duplicate django query set? -
मेरे पास एक साधारण डीजेंगो क्वेरी सेट है:
qs = AModel.objects.exclude (राज्य = "एफ")। Order_by ("order")
मैं इसका उपयोग निम्नानुसार करना चाहूंगा:
qs [0: 3 ] .अपडेट (राज्य = 'एफ') अपेक्षित = qs [3] # त्रुटि यहाँ फेंकता
लेकिन अंतिम कथन फेंकता है: "एक टुकड़ा लिया गया है एक बार एक क्वेरी अपडेट नहीं किया जा सकता है।" < / P>
मैं क्वेरी सेट को डुप्लिकेट कैसे कर सकता हूं?
यह त्रुटि फेंकने वाली पहली पंक्ति है : आप qs नहीं कर सकते [0: 3] .update () क्यू [0: 3] एक टुकड़ा ले रहा है; अपडेट () क्वेरी अपडेट कर रहा है।
अपडेट () बल्क अपडेट के लिए है, जिसके परिणामस्वरूप एसक्यूएल क्वेरीज़ जैसे
UPDATE एप_मॉडेल SET state = 'F' WHERE state & lt ; & gt; 'एफ';
आप "आदेश" के अनुसार पहले तीन वस्तुओं को अपडेट करने की कोशिश कर रहे हैं, लेकिन यह इस प्रकार के अद्यतन के साथ नहीं किया जा सकता - आप किसी एसक्यूएल को ऑर्डर करने या सीमित नहीं कर सकते हैं अद्यतन। इसे अलग तरह से लिखे जाने की ज़रूरत है, उदा।
UPDATE एप_मॉडल एसईटी स्टेट = 'एफ' जहां आईडी (एप_मॉडेल से राज्य का चयन करें एफ़एलएसी & lt; & gt; एफ 'ऑर्डर बाय ऑर्डर सीमा 3) एएस उप;
लेकिन Django आपके लिए ऐसा नहीं कर सकता।
Comments
Post a Comment