इम कई "ग्राहकों" के लिए एक "सूचना" वस्तु कनेक्ट करने का प्रयास (नीचे कोड देखें)Django post_save सिग्नल मुझे pre_save डेटा क्यों देता है?
जब एक सूचना वस्तु अद्यतन किया जाता है, मैं प्रत्येक ग्राहक है कि सूचना से जुड़ा है करने के लिए ईमेल भेजना चाहते हैं।
हालांकि, जब मैं sold_to फ़ील्ड को लॉग करता हूं कि सिग्नल प्राप्त होता है तो मैं हमेशा सहेजने से पहले डेटा को पसंद करता हूं।
मुझे लगता है कि इसका कारण यह है क्योंकि इसकी कई टोमनीफिल्ड और डेटा एक अलग तालिका में संग्रहीत है, लेकिन सभी संबंधों को अद्यतन करने के बाद post_save सिग्नल को कॉल नहीं किया जाना चाहिए?
किसी को भी समाधान के लिए कोई सुझाव मिला है?
class Customer
name = models.CharField(max_length=200)
category = models.ManyToManyField('Category',symmetrical=False)
contact = models.EmailField()
class Information
name = models.CharField(max_length=200)
email = models.EmailField(max_length=200)
mod_date = models.DateTimeField(auto_now=True)
sold_to = models.ManyToManyField(Customer, null=True, blank=True)
def send_admin_email(sender, instance, signal, *args, **kwargs):
from myapp import settings
for cust in instance.sold_to.all():
settings.debug(cust.name)
post_save.connect(send_admin_email, sender=Information)
संपादित करें: #django में apollo13 मुझे इस के लिए सतर्क कर दिया: "संबंधित आइटम (बातें कई-से-अनेक संबंध में सहेजा जा रहा है) आप के रूप में, एक मॉडल की विधि को बचाने के हिस्से के रूप में सहेजा नहीं कर रहे हैं खोजा गया।" - http://groups.google.com/group/django-users/msg/2b734c153537f970
लेकिन 9 जुलाई 2006 से ही मुझे वास्तव में उम्मीद है कि इसके लिए एक समाधान है।
त्वरित उत्तर के लिए धन्यवाद। मैंने पैच की कोशिश की, और थोड़ा हैकिंग के बाद मुझे यह काम करने के लिए मिला। नीचे समाधान पोस्ट करेंगे। – schmilblick