2008-08-21 10 views
9

मैं दो मॉडल मिल गया है में एक auto_now DateTimeField अद्यतन करने: संदेश और अनुलग्नक। अटैचमेंट मॉडल पर एक विदेशीकी का उपयोग करके, प्रत्येक अनुलग्नक एक विशिष्ट संदेश से जुड़ा होता है। दोनों मॉडलों में एक auto_now डेटटाइमफ़ील्ड अपडेट किया जाता है। मैं इसे बनाने की कोशिश कर रहा हूं ताकि जब कोई अनुलग्नक सहेजा जाए, तो यह अब संबंधित संदेश पर अद्यतन फ़ील्ड को भी सेट करता है। यहां मेरा कोड है:एक माता पिता के मॉडल w/Django

def save(self): 
    super(Attachment, self).save() 
    self.message.updated = self.updated 

यह काम करेगा, और यदि आप इसे मुझे समझा सकते हैं, तो क्यों? यदि नहीं, तो मैं इसे कैसे पूरा करूं?

उत्तर

6

तुम भी तो संदेश को बचाने के लिए की आवश्यकता होगी। फिर यह काम करना चाहिए।

auto_now साथ
1

दिनांक समय फ़ील्ड अपने save() बुला पर अपडेट किया जाता है, ताकि आप उन्हें मैन्युअल रूप से अद्यतन करने की आवश्यकता नहीं है। Django आपके लिए यह काम करेगा।

0

काम करने के लिए उचित संस्करण है:

class Message(models.Model): 
    updated = models.DateTimeField(auto_now = True) 
    ... 

class Attachment(models.Model): 
    updated = models.DateTimeField(auto_now = True) 
    message = models.ForeignKey(Message) 

    def save(self): 
     super(Attachment, self).save() 
     self.message.save() 
(अंतिम पंक्ति self.message.save() की ओर ध्यान)
संबंधित मुद्दे