एक समाधान के लिए भी काम करता है जब आपके पास एक UUIDField
प्राथमिक कुंजी के रूप में होता है (जो कि अन्य ने नोट किया है कि None
अगर आप अभी ओवरराइड नहीं करते हैं save
), तो आप Django के post_save सिग्नल में प्लग कर सकते हैं । इसे अपने मॉडल में जोड़ें :
from django.db.models.signals import post_save
from django.dispatch import receiver
@receiver(post_save, sender=MyModel)
def mymodel_saved(sender, instance, created, **kwargs):
if created:
# do extra work on your instance, e.g.
# instance.generate_avatar()
# instance.send_email_notification()
pass
यह कॉलबैक save
विधि को अवरुद्ध कर देगा , जिससे आप ट्रिगर नोटिफिकेशन जैसी चीजों को कर सकते हैं या अपनी प्रतिक्रिया वापस तार पर भेजे जाने से पहले मॉडल को अपडेट कर सकते हैं, चाहे आप फॉर्म का उपयोग कर रहे हों या AJAX कॉल के लिए Django REST फ्रेमवर्क। बेशक, अपने उपयोगकर्ताओं को प्रतीक्षा में रखने के बजाय नौकरी की कतार में जिम्मेदारी से और भारी कार्यों का उपयोग करें :)
UUIDField pk