Django:保存子项失败时的孤立父实例

时间:2011-07-03 14:38:55

标签: django django-models model-inheritance

我有一个Photo类,它继承自Content模型,如下所示:

class Content(models.Model):
    added = models.DateTimeField(auto_now_add=True)
    modified = models.DateTimeField(auto_now=True)

class Photo(Content):
    file = models.ImageField(upload_to='photos/')

    def __unicode__(self):
        return self.caption and self.caption or ''

可以看出,内容本身并不是抽象的。通过ModelForm,我正在上传照片。但是,如果由于某种原因保存Photo失败,则会留下孤立的Content实例。我想在保存Photo实例之前创建了父模型的实例,但是如果照片失败,则不会清除父模型。

这是Django方面的错误吗?如何防止这种情况?

1 个答案:

答案 0 :(得分:3)

一如既往。使用transactions