我想對一些不是當前類的實例的對象執行一些delete()
和一些save()
方法。我正在嘗試在超載的save()
方法中做到這一點。這裏是之情況:您可以/應該修改其他類模型中數據庫中的對象
class Item(models.Model):
name = models.CharField(max_length=500)
category = models.ForeignKey(Category, null=True, related_name='add_item')
tag = models.ManyToManyField(Category, null=True, related_name='tag_item')
def save(self, *args, **kwargs):
super(Item, self).save(*args, **kwargs)
for a_tag in self.tag.all():
#do stuff here
a_tag.delete()
cat = self.category
while cat is not None:
cat.add_item.add(self)
#do stuff here
cat.save()
cat = cat.parent
這不工作,當我嘗試這樣做,我得到以下異常:
Exception AttributeError: "'Cursor' object has no attribute 'connection'" in <bound method Cursor.__del__ of <MySQLdb.cursors.Cursor object at 0x905c3ac>> ignored
請發佈完整的回溯。即使你所做的事情是不可能的,你也不應該得到那個錯誤,所以這看起來可能是一個Django錯誤。 – 2010-01-16 10:47:04