मैं अपने मॉडलों में से एक पर विधि बचाने अधिभावी कर रहा हूँ:कस्टम मॉडल पर विधि को बचाने - django
def save(self, *args, **kwargs):
self.set_coords()
super(Post, self).save(*args, **kwargs)
def __unicode__(self):
return self.address
# set coordinates
def set_coords(self):
toFind = self.address + ', ' + self.city + ', ' + \
self.province + ', ' + self.postal
(place, location) = g.geocode(toFind)
self.lat = location[0]
self.lng = location[1]
हालांकि, मैं केवल एक बार set_coords()
चलाना चाहते हैं, जब पद बनाया जा रहा है। मॉडल को अद्यतन होने पर यह फ़ंक्शन नहीं चलना चाहिए।
मैं इसे कैसे पूरा कर सकता हूं? मॉडल का निर्माण या अद्यतन किया जा रहा है या नहीं, इसका पता लगाने का कोई तरीका है?
क्या आप मुझे बता सकते हैं कि। वापसी का उपयोग लाइन 'सुपर (पोस्ट, सेल्फ)। सेव (* args, ** kwargs) पर किया जाना चाहिए या नहीं। यह बदले बिना काम करता है। –
बिल्कुल सही! बहुत अच्छा जवाब। –