को हटाने पर कैस्केडिंग नहीं कर रहा है, मैं अब भी एक और अधिक महसूस कर रहा हूं कि मैं अभी भी एक Django नोब हूं, मुझे यह पता लगाना प्रतीत नहीं होता कि मेरे डेटा मॉडल के साथ क्या हो रहा है और यह कैलिडिंग डिलीट क्यों नहीं है। मेरा मॉडल यहाँ है।Django
class message(models.Model):
msg_text = models.CharField(max_length = 9900)
date_time = models.DateTimeField()
is_read = models.BooleanField(default=False)
class thread(models.Model):
message = models.ForeignKey(message)
subject = models.CharField(max_length=160)
from_user = models.ForeignKey(User, related_name = 'from_user')
to_user = models.ForeignKey(User, related_name = 'to_user')
thread_id = models.CharField(max_length = 36)
def __unicode__(self):
return self.subject
और फिर यहाँ मेरी हटाने समारोह
def delete_message(request, thread_id):
t = thread.objects.get(id=thread_id)
thread.objects.filter(thread_id = t.thread_id).delete()
return HttpResponseRedirect(reverse("inbox.views.index"))
है इसलिए हर धागा इसे से जुड़े संदेशों, और सभी धागे कि संबंधित संदेश (यानी उत्तर) होते हैं सब एक धागा आईडी के साथ जुड़े हुए हैं है जो एक यादृच्छिक रूप से जेनरेट की गई स्ट्रिंग है। तो जब मैं हटाता हूं तो मुझे प्रारंभिक थ्रेड आईडी (डीजेंगो ऑटो-जेनरेट आईडी) मिलती है और उसके बाद अद्वितीय थ्रेड आईडी को पकड़ने और उस थ्रेड आईडी वाली सभी प्रविष्टियों को हटाने के लिए इसका उपयोग करें। हालांकि जब मैं धागे को हटा देता हूं तो यह ऑटो-कैस्केडिंग और संबंधित संदेश ऑब्जेक्ट्स को हटा नहीं रहा है।
अजीब बात यह है कि यह पहले काम करता था, लेकिन फिर काम करना बंद कर दिया, मुझे यकीन नहीं है कि क्यों। कोई विचार?