2012-07-03 13 views
8

में मूल्यों में वृद्धि करना मैं वास्तविक मान खोजने के लिए डीबी पर हिट करने के बिना डेटाबेस में मान बढ़ाना चाहता हूं। प्रभावी रूप से, मैं ऐसा कुछ करना चाहता हूं ... लेकिन यह काम नहीं करता है। कोई सुरुचिपूर्ण समाधान?django डेटाबेस

P.objects.filter(username='John Smith').update(accvalue+=-50) 

धन्यवाद!

उत्तर

10

Django के F() object देखें।

आप previos क्षेत्र मूल्य के आधार पर मान अपडेट update() विधि के साथ यह गठजोड़ कर सकते हैं अर्थात

>>> from django.db.models import F 
>>> P.objects.filter(username="John Smith").update(accvalue=F("accvalue") + 50) 

यह है कि आप क्या करना चाहते करने के लिए डेटाबेस के मूल UPDATE विधि का प्रयोग करेंगे।

+0

धन्यवाद! प्रदर्शन पर यह कैसा है? – snakesNbronies

+0

नियमित बचत विधि और उस थ्रेड के शीर्ष पर सुरक्षित से बेहतर :) :) – bx2

+2

क्या मुझे दोबारा पूछे बिना बढ़ी हुई कीमत मिल सकती है? यह – Don

संबंधित मुद्दे