使用Django删除一对多相关模型

时间:2020-08-06 21:20:15

标签: python django

我在Django中定义了以下模型,正在寻找一种删除与网站关联的所有cookie的方法。

models.py

class Site(models.Model):
    created = models.DateTimeField(auto_now_add=True)
    last_updated = models.DateTimeField(auto_now=True)
    name = models.CharField(unique=True, max_length=settings.MAX_CHAR_COUNT)

class Cookie(models.Model):
    name = models.TextField()
    value = models.TextField(blank=True, null=True)
    host = models.ForeignKey(Site, on_delete=models.CASCADE, related_name='cookies')

我尝试了以下操作,但出现错误:

site_object.cookies.delete()

AttributeError: 'RelatedManager' object has no attribute 'delete'

1 个答案:

答案 0 :(得分:2)

您可以尝试

site_object.cookies.all().delete()

在您的示例中,您正在调用管理器而不是delete方法。