"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > विशिष्ट मॉडल परिदृश्यों के लिए Django सेव विधि को कैसे ओवरराइड करें?

विशिष्ट मॉडल परिदृश्यों के लिए Django सेव विधि को कैसे ओवरराइड करें?

2024-11-07 को प्रकाशित
ब्राउज़ करें:104

How to Override Django Save Method for Specific Model Scenarios?

Django: विशिष्ट मॉडल परिदृश्यों के लिए ओवरराइडिंग सेव विधि

ऐसी स्थितियों में जहां Django मॉडल की सेव विधि को कुछ के आधार पर संशोधित करने की आवश्यकता होती है मानदंड, जैसे कि यह निर्धारित करना कि क्या कोई छवि अपडेट की गई थी या केवल विवरण बदला गया था, एक कस्टम दृष्टिकोण नियोजित किया जा सकता है।

एक तकनीक में एक संपत्ति और एक ध्वज का उपयोग करना शामिल है:

class Model(model.Model):
    _image = models.ImageField(upload_to='folder')
    thumb = models.ImageField(upload_to='folder')
    description = models.CharField()

    def set_image(self, val):
        self._image = val
        self._image_changed = True

    def get_image(self):
        return self._image

    image = property(get_image, set_image)

    def save(self, *args, **kwargs):
        if getattr(self, '_image_changed', True):
            # Logic for image rescaling
        super(Model, self).save(*args, **kwargs)

यह दृष्टिकोण सुनिश्चित करता है कि छवि रीस्केलिंग तर्क केवल तभी ट्रिगर होता है जब '_image_changed' ध्वज सही पर सेट होता है, जो दर्शाता है कि छवि को बदल दिया गया है संशोधित.

विज्ञप्ति वक्तव्य इस लेख को पुन: पेश किया गया है: 1729584019 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] पर संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3